2.3. ルータールートメッセージの使用方法

ルーターネットワークでは、ルーティングとは、メッセージが宛先に配信されるプロセスです。そのために、AMQ Interconnect は 2 つの異なるルーティングメカニズムを提供します。

メッセージルーティング

メッセージルーティングにより、メッセージを任意のキャストおよびマルチキャストパターンで分散できます。これらのパターンは直接ルーティングの両方に使用できます。この場合、ルーターはメッセージブローカーと間接ルーティングなしでメッセージを分散します。これにより、ルーターはメッセージブローカーを介してメッセージを交換できます。

メッセージルーティングは以下の要件に役立ちます。

  • デフォルトの基本メッセージルーティング

    AMQ Interconnect はデフォルトで自動的にメッセージをルーティングするため、デフォルトとは異なる動作をルーティングする必要がある場合に限り、手動設定が必要になります。

  • メッセージベースのルーティングパターン

    メッセージルーティングは、何らかのキャストおよびマルチキャストルーティングパターンの両方をサポートします。個々のメッセージを複数のコンシューマーに分散し、マルチキャスト (または fan-out) メッセージを複数のサブスクライバーに負荷分散できます。

  • メッセージ配信順序が重要でない場合は、複数のメッセージブローカーにメッセージのシャーディングをシャーディングします。

    あるプロデューサーからメッセージをシャーディングすると、プロデューサーのメッセージが送信順に異なる順序で受信される可能性があります。

リンクルーティング

リンクルーティングにより、送信元とルーターネットワークを通過する受信側の間で専用の仮想パスを確立できます。リンクルートは通常、直接接続が不完全であるシナリオのメッセージブローカーにクライアントを接続するために使用されます。したがって、リンクルートは、以下のようなメッセージルーティングでできないメッセージング機能を有効にします。

  • トランザクションメッセージング

    リンクルーティングは、1 つのブローカーへのローカルトランザクションをサポートします。分散トランザクションはサポートされません。

  • 確実な、メッセージ配信順序

    シャードキューへのリンクルーティングは、リンク上のすべてのメッセージが同じブローカーインスタンスに移動することで、プロデューサーのメッセージの配信順序を保持します。

  • エンドツーエンドフロー制御

    フロー制御は、受信側から送信者へのリンクルート全体のクレジットフローを real します。

  • サーバー側のセレクター

    リンクルートを使用すると、コンシューマーはブローカーのサブスクリプションのサーバー側のセレクターを提供できます。