14.4. メッセージ再分配の有効化
ブローカークラスターに message-load-balancing
が ON_DEMAND
または OFF_WITH_REDISTRIBUTION
に設定されている場合、コンシューマーにメッセージを消費するコンシューマーがないキューでメッセージが stuck にならないように メッセージ再分配 を設定できます。
本セクションでは、以下の情報を提供します。
14.4.1. メッセージ再分配について
ブローカークラスターは負荷分散を使用して、メッセージの負荷をクラスター全体に分散します。クラスター接続で負荷分散を設定する場合は、以下の message-load-balancing
設定を使用して再分配を有効にできます。
-
ON_DEMAND
- 負荷分散を有効にし、再分配を許可します。 -
OFF_WITH_REDISTRIBUTION
- 負荷分散を無効にしますが、再分配を許可します。
いずれの場合も、ブローカーは一致するコンシューマーを持つ他のブローカーにのみメッセージを転送します。この動作により、メッセージがメッセージを消費するコンシューマーを持たないキューに移動されないようにします。ただし、メッセージがブローカーに転送された後にキューにアタッチされたコンシューマーがブローカーに転送されると、これらのメッセージはキュー内でストックになり、消費されません。この問題は、不足と呼ばれることもあります。
メッセージ再分配は、一致するコンシューマーを持つクラスター内のコンシューマーのないキューからメッセージを自動的に再分配することで、不足を防ぎます。
OFF_WITH_REDISTRIBUTION
を使用すると、ブローカーは、アクティブなローカルコンシューマーがない場合に、一致するコンシューマーを持つ他のブローカーにのみメッセージを転送するため、コンシューマーが利用できない場合にブローカーの優先順位付けを実行できます。
メッセージ再分配は、フィルター ( セレクター とも呼ばれる ) の使用をサポートします。つまり、利用可能なローカルコンシューマーのセレクターと一致しない場合、メッセージは再分配されます。
関連情報
- クラスターの負荷分散に関する詳細は、「ブローカークラスターがメッセージ負荷のバランスを取る方法」 を参照してください。