Elastic Beanstalk 如何知道 EC2 服务器是否繁忙?

How does Elastic Beanstalk know if EC2 server is busy?

我有一个 NodeJS 应用程序,它在用户请求时执行一些中等强度的逻辑工作。例如,前端的用户可以单击 Analyze,服务器将执行工作,这可能需要 30 秒到 1 分钟(非阻塞)

我的应用程序不针对广泛 public,而是针对几千人。所以有可能几个人同时分析

我目前正计划通过 Elastic Beanstalk 部署该应用程序,但我不确定它在繁忙时如何处理服务器以及是否必须实施某种自定义告诉负载均衡器将请求发送到另一个实例的信号,如果当前实例正忙于执行分析。

我知道在这种情况下,Lambdas 通常被作为一个选项,但我更希望保持简单并将代码保留在我的 Node 应用程序中。

我应该如何设计它以确保应用程序可以处理分析并仍然正常处理其他请求?

Elastic Beanstalk 使用 Autoscaling Group 来启动和维护 运行 应用程序所需的 EC2 实例。使用自动缩放组,您可以 increase/decrease EC2 实例使用自动缩放策略动态计数。默认情况下,Autoscaling Group 提供基于 CPU、网络输入、网络输出、请求计数、延迟等的扩展。您可以使用这些指标中的任何一个并动态扩展您的基础设施。

您可以参考 AWS 文档 here 了解更多信息。