4.10. シャードキューの設定
部分的な順序付けのみが必要とされるキュー全体のメッセージの処理には、queue shardingを使用するのが一般的なパターンです。つまり、単一の論理キューとして動作する anycast
アドレスを定義します。これは、多くの基礎となる物理キューでサポートされます。
手順
-
<broker_instance_dir>/etc/broker.xml
設定ファイルを開きます。 address
要素を追加し、name
属性を設定します。以下に例を示します。<configuration ...> <core ...> ... <addresses> <address name="my.sharded.address"></address> </addresses> </core> </configuration>
anycast
ルーティングタイプを追加し、希望するシャードキューの数を入力します。以下の例では、キューq1
、q2
、q3
がエニーキャスト
の宛先として追加されています。<configuration ...> <core ...> ... <addresses> <address name="my.sharded.address"> <anycast> <queue name="q1" /> <queue name="q2" /> <queue name="q3" /> </anycast> </address> </addresses> </core> </configuration>
前述の設定に基づき、my.sharded.address
に送られたメッセージは、q1
、q2
、q3
に均等に配分されます。クライアントは、完全修飾キュー名 (FQQN) の使用時に、特定の物理キューに直接接続して、その特定のキューにのみ送信されたメッセージを受け取ることができます。
特定のメッセージを特定のキューに結びつけるために、クライアントはメッセージごとにメッセージグループを指定できます。ブローカーは、グループ化されたメッセージを同じキューにルーティングし、1 つのコンシューマーはそれをすべて処理します。
関連情報
詳細情報:
- 完全修飾キュー名。「完全修飾キュー名の指定」を参照してください。
- メッセージのグループ化。AMQ Core Protocol JMS ドキュメントの Using message groups を参照してください。