29.5. クラスター化されたメッセージのグループ化


重要

この機能はサポートされていません。

クラスター化されたグループ化では、通常の メッセージのグループ化 に対して異なる方法を実行します。クラスターの中では、特定のグループ ID を持つメッセージグループが、ノードのいずれかに到達できます。ノードでは、どのノードの、どのコンシューマーに、どのグループ ID がバインドされるかを判断することが重要です。各ノードは、メッセージグループがデフォルトで到達する場所に関係なく、それらのグループ ID を処理するコンシューマーを持つノードにメッセージグループを正しくルーティングするロールを担います。指定したグループ ID を持つメッセージが、クラスター内の指定したノードに接続されている特定のコンシューマーに送信されます。この場合、これらのメッセージはコンシューマーが切断されても別のノードに送信されることはありません。

この状況は、グルーピングハンドラーによって処理されます。各ノードにグルーピングハンドラーがあります。また、このグルーピングハンドラー (と他のハンドラー) は、メッセージグループを正しいノードにルーティングするロールを担います。グルーピングハンドラーには、LOCALREMOTE の 2 つのタイプがあります。

ローカルハンドラーは、メッセージグループが取るルートを決定するロールを担います。リモートハンドラーはローカルハンドラーと通信し、適切に動作します。各クラスターは、特定のノードを選択してローカルグルーピングハンドラー指定するようにします。また、その他のすべてのノードには、リモートハンドラー指定する必要があります。

警告

メッセージのグループ化がクラスター内で使用された場合は、リモートグルーピングハンドラーとして設定されたノードで障害が発生すると、中断します。リモートグルーピングハンドラーのバックアップの設定では、これは修正されません。

最初にメッセージグループを受信するノードが、通常のクラスタールーティング条件 (ラウンドロビンキューを利用できるか) に基づいてルーティングの決定を行います。ノードは、この決定をそれぞれのグルーピングハンドラーに提案します。グルーピングハンドラーが受け入れた場合は、提案されたキューにメッセージをルーティングします。

グルーピングハンドラーが提案を拒否した場合は、他のルートを提案し、それに応じてルーティングを行います。その他のノードも先例に従い、選択したキューにメッセージグループを転送します。メッセージがキューに到達すると、そのキューのカスタマーに固定されます。

管理 CLI を使用してグルーピングハンドラーを設定できます。以下のコマンドは、news.europe.# アドレスを使用して LOCAL グルーピングハンドラーを追加します。

/subsystem=messaging-activemq/server=default/grouping-handler=my-group-handler:add(grouping-handler-address="news.europe.#",type=LOCAL)
Copy to Clipboard Toggle word wrap

サーバーをリロードする必要があります。

reload
Copy to Clipboard Toggle word wrap

以下の表は、grouping-handler の設定可能な属性を示しています。

Expand
属性説明

group-timeout

REMOTE ハンドラーでは、この値は、ルートが使用されたことを REMOTELOCAL に通知する頻度を指定します。LOCAL ハンドラーでは、指定された時間でルートが使用されていない場合、削除されます。また、新しいパスが確立される必要があります。値はミリ秒単位です。

grouping-handler-address

クラスター接続と、使用するアドレスへの参照。

reaper-period

タイムアウトグループバインディングのチェックを実行するためにリーパーが実行される頻度 (LOCAL ハンドラーにのみ有効)。

timeout

処理が決定されるまで待機する時間。このタイムアウトに達すると、順序付けが厳格に保持された状態で、送信中に例外が出力されます。

type

ハンドラーが、処理の決定を行うクラスターの単一のローカルハンドラーであるか、ローカルハンドラーと対話するリモートハンドラーであるか。使用できる値は LOCAL または REMOTE です。

29.5.1. クラスター化されたメッセージのグループ化のベストプラクティス

クラスター化されたグループ化のベストプラクティスには、以下のものがあります。

  • コンシューマーを定期的に作成して閉じる場合は、コンシューマーが別のノードに均等に分散されていることを確認します。キューが固定されると、キューからカスタマーを削除しなくても、そのキューにメッセージが自動的に転送されます。
  • メッセージグループがバインドされているキューを削除する場合は、メッセージを送信しているセッションによってキューが削除されていることを確認してください。これを実行することで、他のノードは削除後にこのキューにメッセージをルーティングしないようにします。
  • フェイルオーバーメカニズムとして、ローカルグルーピングハンドラーを持つノードを常に複製します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat