【发布时间】:2015-07-01 08:12:34
【问题描述】:
这个问题我想了很久。文件上传到 Node.js 服务器不会阻塞它的线程吗?我这里不是指获得单次上传的响应。
例如,假设有 100 个用户将图片(或大文件)上传到服务器。文件上传到我的服务器后,我会将其移动到 Amazon S3。现在,
- Node.js 如何处理这 100 个请求?每 100 个并行请求的单独回调?
- 我不希望用户等到上传到 S3,一旦文件上传到服务器,应该单独传输到 S3 并立即发送响应。
- 在文件传输到 S3 完成之前,是否会回复用户,杀死(上传到 S3)进程?
- 我应该使用 queue 来处理向 S3 的转移吗?还是不需要?
Note: Don't mark it as duplicate unless you found a SO question with answer to all my questions.
【问题讨论】:
-
您会在将这些上传的文件发送到 S3 之前对其进行处理吗?
-
不,我没有处理文件,但是一旦上传到 S3,我应该将其添加到数据库中。
-
@RahatMahbub 我不是 OP,但如果我正在处理文件,那么队列会是最优的吗?这样做的架构是什么?我只能在作业中存储有限的数据,因此缓冲区可能太大。您是否建议流式传输到我的服务器,然后将原始图像流式传输到 S3,然后排队作业以将图像拉回(及其 URL),对其进行处理,然后重新上传处理后的版本?谢谢。
标签: javascript node.js amazon-s3 event-loop