14.4.2. メッセージ再分配の設定
この手順では、負荷分散を使用してメッセージ再分配を設定する方法を説明します。負荷分散なしでメッセージ再分配を行う場合は、<message-load-balancing>
を OFF_WITH_REDISTRIBUTION
に設定します。
手順
-
<broker_instance_dir>/etc/broker.xml
設定ファイルを開きます。 <cluster-connection>
要素で、<message-load-balancing>
がON_DEMAND
に設定されていることを確認します。<configuration> <core> ... <cluster-connections> <cluster-connection name="my-cluster"> ... <message-load-balancing>ON_DEMAND</message-load-balancing> ... </cluster-connection> </cluster-connections> </core> </configuration>
<address-settings>
要素内で、キューまたはキューのセットの再分配遅延を設定します。この例では、
my.queue
へのメッセージの負荷分散は、最後のコンシューマーが閉じられてから 5000 ミリ秒に再分散されます。<configuration> <core> ... <address-settings> <address-setting match="my.queue"> <redistribution-delay>5000</redistribution-delay> </address-setting> </address-settings> ... </core> </configuration>
address-setting
-
match
属性を、メッセージを再分配するキューの名前に設定します。ブローカーのワイルドカード構文を使用してキューの範囲を指定できます。詳細は、「アドレスセットへのアドレス設定の適用」 を参照してください。 redistribution-delay
-
このキューの最後のコンシューマーが閉じられてからクラスターの他のブローカーにメッセージを再分配するまでブローカーが待機する時間 ( ミリ秒単位 )。これを
0
に設定すると、メッセージは即座に再分配されます。ただし、通常は、再分配する前に遅延を設定する必要があります。コンシューマーを閉じるのは一般的ですが、同じキューに別のキューを迅速に作成する必要があります。
- クラスター内の追加のブローカーごとにこの手順を繰り返します。
関連情報
-
メッセージを再分散するブローカークラスター設定の例は、
queue-message-redistribution
AMQ Broker のサンプルプログラム を参照してください。