美文网首页
Nodejs - 实现一个稳健的文件上传服务

Nodejs - 实现一个稳健的文件上传服务

作者: cheerfun | 来源:发表于2018-12-14 20:03 被阅读0次

稳健的上传服务,啥样的上传服务算稳健呢?

- 上传大文件内存暴涨,不能算稳健吧

- 并发量贼小,不能算稳健吧

采用流式上传

nodejs中流真是个好东西,可以平衡生产者(readStream)和消费者(writeStream)之间的矛盾,不会因为生产过快,导致仓库积累大量货物,可以认为流中实现了一个中介,当生产到了一定量,即读入内存一定数据量,中介告诉生产者,“先暂停生产吧!仓库放不下了,东西还没卖完”。当东西卖完了,中介通知生产者继续生产,这样可以保证产品堆积总量总是不超过一定量,也就程序总是不会超过一定的内存占用量。

然而流也有缺点,流占有内存少,自然效率不如一股脑儿的有多少内存用多少内存。但是这样任务就会排队阻塞,没有什么并发可言。

所以,用nodejs的流实现文件上传服务可以做到文章开头说的稳健。

实现上传

我们知道nodejs中的IO操作是异步的,流也不例外,而处理异步问题

相关文章

网友评论

      本文标题:Nodejs - 实现一个稳健的文件上传服务

      本文链接:https://www.haomeiwen.com/subject/lgknhqtx.html