【问题标题】:Handle 100 request per minute with micro service使用微服务每分钟处理 100 个请求
【发布时间】:2018-04-10 09:43:12
【问题描述】:

我有 node.js 应用程序,它应该处理以下内容

  1. 获取 zip 文件提取这些文件(带有一些键和值的 js 模块文件 - 最多 20 个文件,但通常每个文件 5-8 个文件 请求)
  2. 对这些文件进行一些分析并从中创建新文件并将其发送回客户端(如果请求包含 5 个文件 分析应该返回相同的 5 个新文件等...)
  3. 压缩此新文件并将其发送回客户端

我已经创建了可以进行分析的模块,它工作正常,对于大约 10 个文件,进行分析和创建新文件大约需要 250-300 毫秒。

假设我需要为 100 个可以做到这一点的客户提供服务

现在我想创建一些 stateless 微服务来扭曲此功能并基本上完成

get zip
extract zip
manipulate 
zip
send files

为此,我想在云中创建一个micro service(无状态)(我想将它部署到云中(cloud foundry / Heroku) 那应该处理它 我的问题是我应该如何处理多个请求? ,假设我每分钟有 100 个请求…… 我知道这应该可以工作 async 但我仍然担心对于 10 个或更多请求,我的应用程序会崩溃……

排队?缩放?

【问题讨论】:

    标签: javascript node.js heroku microservices cloud-foundry


    【解决方案1】:

    我知道这应该是异步工作的,但我担心如果请求 10 次或更多,我的应用会崩溃

    I believe you have a bad idea on what a stateless server is.
    

    无状态服务器功能强大、可扩展且可扩展。无状态服务器可以处理超过您提到的请求而不会崩溃,直到您的云计费帐户中有足够的信用 - 至少这就是我们使用无状态服务器的全部原因

    去吧,你的应用程序可以处理任意数量的请求:)

    如果您仍然担心,请尝试拆分您的应用程序。就像 - 让您的一个函数进行提取,一旦完成,它可以请求分析函数开始其工作。您可以使用 pub/sub 或 API 端点与不同的无状态服务器进行通信(只需查看文档)

    【讨论】:

      猜你喜欢
      • 2018-01-14
      • 2016-01-27
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 2017-02-26
      相关资源
      最近更新 更多