3

スケーリングが必要なアプリケーションをセットアップしています。メッセージを Active MQ に投稿し、そこからメッセージを読み取ります。

これまで、キューを指す最大 3 つの同時コンシューマーを使用してきました (各コンシューマーは異なる物理マシンから動作しています)。

Active MQ で Queue を参照できるコンシューマーの最大数を知る必要があります。

上限はありますか?

このリンクを見つけました:

http://activemq.apache.org/multiple-consumers-on-a-queue.html

ただし、最大接続/セッション/消費者については何も述べていません。接続ごとに1つのセッションしか表示されません。

4

2 に答える 2

5

JMS 仕様では、コンシューマーの数に制限はありません。特定のキューまたはトピックに必要な数のコンシューマーを追加できます。

問題は、本当に必要な消費者の数です。コンシューマの数を増やすと、より多くの並列処理を行うことができますが、メモリの問題に直面します。たとえば、1 台のマシンで数千のコンシューマーを開始すると、メモリを消費する数千のスレッドが開始されます。

また、単一の Queue に対して複数のコンシューマーを使用している場合は、セレクターを使用してキューからメッセージを除外することをお勧めします。これにより、メッセージを制御し、どのリスナーがそれらを消費するかを制御できます。

于 2013-04-17T09:30:10.857 に答える
4

任意の数のコンシューマーがそのキューを指すことができます。ただし、そのキュー内のオブジェクトにアクセスできるのは 1 つのコンシューマーのみです。オブジェクトを取得すると、その特定のコンシューマーが切断され、他のコンシューマーがキューに接続されます。xml ファイルでキューのサイズを指定できます。一部の検索エンジンで簡単に見つけることができます。タグ名は正確には覚えていません。

于 2013-04-16T16:54:25.930 に答える