4.8. シャード化されたキューの設定
部分的な順序付けのみが必要とされるキュー全体のメッセージの処理には、queue sharding を使用するのが一般的なパターンです。AMQ Broker では、単一の論理キューとして機能する anycast
アドレスを作成してこれを実現できますが、多くの基礎となる物理キューでサポートされます。
手順
BROKER_INSTANCE_DIR/etc/broker.xml
を開き、目的の名前のアドレス
を追加します。以下の例では、sharded
という名前のアドレス
が設定に追加されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow anycast
ルーティングタイプを追加し、希望するシャードキューの数を入力します。以下の例では、キューq1
、q2
、q3
がエニーキャスト
の宛先として追加されています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
上記の設定を使用すると、sharded
に送信されるメッセージは q1
、q2
、および q3
に均等に分散されます。クライアントは、完全修飾キュー名の使用 時に、特定の物理キューに直接接続して、その特定のキューにのみ送信されたメッセージを受け取ることができます。
特定のメッセージを特定のキューに結びつけるために、クライアントはメッセージごとにメッセージグループを指定できます。ブローカーは、グループ化されたメッセージを同じキューにルーティングし、1 つのコンシューマーはそれをすべて処理します。詳細は、メッセージのグループ化 に関する章を参照してください。