1

我打算使用一个简单的 java web 应用程序来引导和加载我的 Spring JMS 客户端,它将侦听队列上的消息并处理传入的消息。我的 Web 应用程序仅用于加载 JMS 客户端;将没有用户访问此应用程序。

如果我要在 AWS Beanstalk 上部署此应用程序,假设作业队列已加载消息并且 Web 应用程序中的 jms 作业侦听器正在使用所有可用资源 - 内存,它会自动扩展吗?线程等?即使负载均衡器上没有流量,AWS 是否会启动应用程序的新实例。

4

1 回答 1

1

您可以将 Elastic Beanstalk 配置为根据许多不同的指标进行纵向扩展和缩减。默认情况下,它使用 NetworkOut,但您还有其他几个选项可供选择,例如 CpuUtilization 和 DiskWriteBytes。

在您的情况下,您可以将缩放触发器设置为 CpuUtilization,以便当您的 JMS 客户端处理消息负载过重时,您可以增加客户端的数量。例如,如果 CPU 负载在 5 分钟内平均 > 80%,您可以扩大规模。

ElasticBeanstalk 使用 CloudWatch 指标作为扩展触发器;这些指标与您在 Elastic Beanstalk 和 EC2 的监控选项卡下看到的指标相同。可以在 EC2 中创建自定义指标,但我不知道 Elastic Beanstalk 是否能够将自定义指标用作自动缩放触发器。

有关扩展触发器的更多信息,请参阅 Elastic Beanstalk文档

于 2012-10-07T01:34:46.993 回答