我的node.js应用程序应该处理以下
- 获取zip文件提取这些文件(带有一些键和值的js模块文件 - 最多20个文件,但通常每个文件的5-8个文件 请求)
- 对这些文件进行一些分析并从中创建新文件并将其发送回客户端(如果请求包含5个文件, 分析应返回相同的5个新文件等...)
- 压缩此新文件并将其发送回客户端
醇>
我已经创建了可以正常分析的模块,对于大约10个文件,大约需要250-300毫秒来进行分析并创建新文件。
让我们假设我需要为可以执行此操作的100个客户提供服务
现在我想创建一些扭曲此功能的stateless
微服务,基本上做
get zip
extract zip
manipulate
zip
send files
为此我想在云端创建一个micro service
(无状态)(我想将其部署到云端(云代工/ Heroku)
应该处理它
我的问题是如何处理多个请求? ,假设我每分钟有100个请求......
我知道应该可以正常工作异步,但我仍然担心10个或更多请求我的应用会崩溃...
队列?缩放?
答案 0 :(得分:0)
我明白这应该是异步但仍然,我担心10个或更多请求我的应用程序将被粉碎
I believe you have a bad idea on what a stateless server is.
无状态服务器功能强大,可扩展且可扩展。无状态服务器可以处理超过您提到的请求而不会被压缩,直到您在云计费帐户中有足够的信用额度 - 至少这是我们使用无状态服务器的全部原因
为此,您的应用程序可以处理任意数量的请求:)
如果您仍然担心,请尝试拆分您的应用程序。比如 - 让你的一个函数进行提取,一旦完成,就可以请求分析函数来启动它的工作。您可以使用pub / sub或API端点与不同的无状态服务器进行通信(只需检查文档)