1

シンプルな Java Web アプリケーションを使用して、Spring JMS クライアントをブートストラップしてロードし、キューでメッセージをリッスンして受信メッセージを処理することを計画しています。私の Web アプリケーションは、JMS クライアントをロードするためだけに存在します。このアプリケーションにアクセスするユーザーはいません。

このアプリケーションを AWS Beanstalk にデプロイした場合、ジョブ キューにメッセージがロードされ、ウェブ アプリケーションの jms ジョブ リスナーが利用可能なすべてのリソース (メモリ) を使用していると仮定すると、自動的にスケーリングされますか。スレッドなど? ロードバランサーにトラフィックがない場合でも、AWS はアプリケーションの新しいインスタンスをスピンアップしますか?

4

1 に答える 1

1

さまざまなメトリクスに基づいてスケールアップおよびスケールダウンするように Elastic Beanstalk を設定できます。デフォルトでは NetworkOut を使用しますが、CpuUtilization や DiskWriteBytes など、他にもいくつかのオプションから選択できます。

あなたのケースでは、スケーリング トリガーを CpuUtilization に設定して、JMS クライアントが処理メッセージの負荷が高いときにクライアントの数を増やすことができるようにすることができます。たとえば、CPU 負荷が 5 分間平均で 80% を超える場合は、スケールアップできます。

ElasticBeanstalk は CloudWatch メトリクスをスケーリング トリガーとして使用します。これらは、Elastic Beanstalk および EC2 の [モニタリング] タブに表示されるメトリクスと同じです。EC2 でカスタム メトリックを作成することは可能ですが、Elastic Beanstalk がカスタム メトリックを Auto Scaling トリガーとして使用できるかどうかはわかりません。

トリガーのスケーリングの詳細については、Elastic Beanstalk のドキュメントを参照してください。

于 2012-10-07T01:34:46.993 に答える