Nodejs - 實現(xiàn)一個穩(wěn)健的文件上傳服務(wù)

穩(wěn)健的上傳服務(wù)倍试,啥樣的上傳服務(wù)算穩(wěn)健呢?

- 上傳大文件內(nèi)存暴漲,不能算穩(wěn)健吧

- 并發(fā)量賊小柄驻,不能算穩(wěn)健吧


采用流式上傳

nodejs中流真是個好東西,可以平衡生產(chǎn)者(readStream)和消費(fèi)者(writeStream)之間的矛盾焙压,不會因為生產(chǎn)過快鸿脓,導(dǎo)致倉庫積累大量貨物,可以認(rèn)為流中實現(xiàn)了一個中介涯曲,當(dāng)生產(chǎn)到了一定量野哭,即讀入內(nèi)存一定數(shù)據(jù)量,中介告訴生產(chǎn)者幻件,“先暫停生產(chǎn)吧拨黔!倉庫放不下了,東西還沒賣完”傲武。當(dāng)東西賣完了蓉驹,中介通知生產(chǎn)者繼續(xù)生產(chǎn),這樣可以保證產(chǎn)品堆積總量總是不超過一定量揪利,也就程序總是不會超過一定的內(nèi)存占用量态兴。

然而流也有缺點,流占有內(nèi)存少疟位,自然效率不如一股腦兒的有多少內(nèi)存用多少內(nèi)存瞻润。但是這樣任務(wù)就會排隊阻塞,沒有什么并發(fā)可言。

所以绍撞,用nodejs的流實現(xiàn)文件上傳服務(wù)可以做到文章開頭說的穩(wěn)健正勒。


實現(xiàn)上傳

我們知道nodejs中的IO操作是異步的,流也不例外傻铣,而處理異步問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末章贞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子非洲,更是在濱河造成了極大的恐慌鸭限,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件两踏,死亡現(xiàn)場離奇詭異败京,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)梦染,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門赡麦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人帕识,你說我怎么就攤上這事泛粹。” “怎么了渡冻?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵戚扳,是天一觀的道長。 經(jīng)常有香客問我族吻,道長帽借,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任超歌,我火速辦了婚禮砍艾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘巍举。我一直安慰自己脆荷,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布懊悯。 她就那樣靜靜地躺著蜓谋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪炭分。 梳的紋絲不亂的頭發(fā)上桃焕,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天,我揣著相機(jī)與錄音捧毛,去河邊找鬼观堂。 笑死让网,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的师痕。 我是一名探鬼主播溃睹,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼胰坟!你這毒婦竟也來了因篇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤腕铸,失蹤者是張志新(化名)和其女友劉穎惜犀,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狠裹,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年汽烦,在試婚紗的時候發(fā)現(xiàn)自己被綠了涛菠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡撇吞,死狀恐怖俗冻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情牍颈,我是刑警寧澤迄薄,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站煮岁,受9級特大地震影響讥蔽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜画机,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一冶伞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧步氏,春花似錦响禽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至界阁,卻和暖如春侯繁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铺董。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工巫击, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留禀晓,地道東北人饥伊。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓猴仑,卻偏偏與公主長得像船侧,于是被迫代替她去往敵國和親负溪。 傳聞我的和親對象是個殘疾皇子稠氮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容