Show Table of Contents
20.7.4. クラスター化されたグルーピング
クラスター化されたグルーピングは通常のメッセージのグループ化とは方法が異なります。クラスターでは、特定のグループ ID を持つメッセージグループはいずれかのノードに到達できます。どのグループ ID がどのノードでどのコンシューマーにバインドされるかを判断することが重要になります。各ノードは、メッセージグループがデフォルトで到達する場所に関係なく、グループ ID を処理するコンシューマーを持つノードへメッセージグループをルーティングする必要があります。
この状況はグルーピングハンドラーによって対処されます。各ノードにグルーピングハンドラーがあり、このグルーピングハンドラー (他のハンドラーとともに) によってメッセージグループが正しいノードへルーティングされます。グルーピングハンドラーには
local と remote の 2 つがあります。
ローカルハンドラーは、メッセージグループが取るルートを決定します。リモートハンドラーはローカルハンドラーと通信し、動作します。各クラスターは、特定のノードを選択してローカルグルーピングハンドラーを持つ必要があり、他のすべてのノードはリモートハンドラーが必要になります。
以下のように local および remote グルーピングハンドラーをサーバー設定ファイル (
standalone.xml および domain.xml) で設定できます。
<grouping-handler name="my-grouping-handler"> <type>LOCAL</type> <address>jms</address> <timeout>5000</timeout> </grouping-handler> <grouping-handler name="my-grouping-handler"> <type>REMOTE</type> <address>jms</address> <timeout>5000</timeout> </grouping-handler>timeout 属性は、指定時間内にルーティングが決定されるようにします。この時間内にルーティングが決定しないと、例外が発生します。
最初にメッセージグループを受け取るノードが、通常のクラスタールーティング条件 (ラウンドロビン方式のキューの可用性) を基にルーティングを決定します。ノードはこの決定を対応するグルーピングハンドラーへ提案し、提案が許可された場合はメッセージを提案したキューへルーティングします。
グルーピングハンドラーが提案を拒否した場合、グルーピングハンドラーは他のルートを提案し、その提案にしたがってルーティングが実行されます。他のノードもそれに従い、選択されたキューへメッセージグループを転送します。メッセージがキューに到達すると、そのキューのカスタマーへ固定されます。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.