AWS 水平扩展应用程序

AWS 水平扩展应用程序

我有一个 NodeJS 程序,其中有 50 个工作线程随时准备处理请求。该脚本维护与分发请求的服务的连接。

我想自动扩展这个脚本,以便当 45 个工作人员忙碌(我可以通过编程确定这一点)、CPU 使用率为 70% 或达到某些网络指标时,就会在新的 EC2 实例上启动该脚本的新实例,所以现在会有 100 个工作人员。

在 AWS 上执行此操作的最佳方法是什么?我只是需要朝正确的方向努力。我应该使用 Elastic Beanstalk 吗?

我不需要负载平衡器,因为工作人员会维护连接。连接永远不会由请求发起。

答案1

在 EC2 部分,有一个自动缩放功能,可以完全满足您的需求。您将创建一个启动配置,其中详细说明要使用哪个 AMI、实例类型、存储、标签、启动脚本等。然后,您将它附加到自动缩放策略,该策略确定至少应运行多少个实例、何时扩展、何时缩小等。

您也可以使用 Elastic Beanstalk 实现这一点。不同之处在于,Elastic Beanstalk 会为您设置一切(服务器、vpc、子网、安全组、负载均衡器、自动扩展等),您只需提供项目代码即可。它快速而简单,但手动操作会让您获得所需的实际操作。

相关内容