サービス バスの種類、仲介型メッセージング、および中継型メッセージングの違いは何ですか? 開発の観点から探しているわけではありませんが、概念とそれらの違いをもっと理解したいです。
ありがとうございました。
サービス バスの種類、仲介型メッセージング、および中継型メッセージングの違いは何ですか? 開発の観点から探しているわけではありませんが、概念とそれらの違いをもっと理解したいです。
ありがとうございました。
Service Bus Relay と Service Bus Brokered Messaging はどちらも、分散アプリケーションとハイブリッド アプリケーションを開発するためのメカニズムです。ただし、それらは異なる開発およびアクセス パターンを対象としています。
Service Bus (SB) Relay は、サービス リモーティングを行うためのシンプルで安全な方法を提供します。つまり、プライベート クラウドでホストされているサービスを外部クライアントに安全に公開できます。サービス リモーティング シナリオの場合と同様に、クライアントは「リレーされた」サービスによって公開されたメソッドを明示的に呼び出します。SB リレーの主な利点は、ファイアウォールの設定を変更したり、企業ネットワーク インフラストラクチャに侵入的な変更を加えたりすることなく、サービスを公開できることです。
一方、SB Brokered Messaging は、キュー、トピック、サブスクリプションなどのコンポーネントを備えた耐久性のあるメッセージング プラットフォームを提供します。これらを使用して、アプリケーションのさまざまな部分間のパブリッシュ/サブスクライブや一時的な分離などの複雑なパターンを実装できます。仲介型メッセージング インフラストラクチャはメッセージを確実に格納できるため、送信者と受信者が同時にオンラインである必要はなく、同じペースでメッセージを処理する必要もありません。
したがって、中継メッセージングは、外部クライアントに公開するサービスがあるシナリオに適しています。クライアントは、SB リレー エンドポイント経由でアクセスすることを除いて、ローカル ネットワーク上にある場合と同じ方法で「リレーされた」サービスと対話します。これはサービスのリモート シナリオであるため、応答はネットワーク遅延の対象となります。ただし、何らかの理由でその時点でサービスが利用できない場合、クライアントの要求は常に失敗します。
仲介型メッセージングの場合、送受信操作が分離されているため、送信者は、受信者がオンラインであるかどうかに関係なく、サービスに確実に保存されているメッセージを送信し続けることができます。ただし、この回復力のトレードオフは、メッセージを取得して処理する受信者の能力に応じて要求が処理されることです。
主な違いは、接続の同期と非同期の性質だと思います。
リレーは、Web サービスを公共の世界 (ファイアウォール、NAT デバイスなどの背後であっても) に公開するためのファイアウォールに適した方法であるのに対し、メッセージングは、キューやトピックを介して非同期の方法でメッセージを交換する方法です。(クラウドをサポートする次のバージョンの MSMQ として見てください:))
すべてはシナリオに依存しますが、探しているのであれば - ルーティング (pub/sub) - 疎結合の送信者と受信者 - 負荷平準化 それなら、間違いなくメッセージングに行くべきです。
サービスを外の世界に簡単に到達できるようにしたい場合は、リレー サービスが最適です。
Azure のサイトから:
リレー
Service Bus Relay サービスを使用すると、Windows Azure データセンターと独自のオンプレミス エンタープライズ環境の両方で実行されるハイブリッド アプリケーションを構築できます。サービス バス リレーは、企業のエンタープライズ ネットワーク内に存在する Windows Communication Foundation (WCF) サービスをパブリック クラウドに安全に公開できるようにすることで、これを容易にします。ファイアウォール接続を開いたり、企業のネットワーク インフラストラクチャに侵入的な変更を加えたりする必要はありません。
Relay は、ロード バランシングも処理します (バインディングの大部分を同じエンドポイントでリッスンする複数のアプリケーションを設定できます)。
仲介メッセージ
2 番目のメッセージング ソリューションは、Service Bus の最新リリースで新しく追加されたもので、"仲介型" メッセージング機能を有効にします。これらは、Service Bus メッセージング インフラストラクチャを使用したパブリッシュ/サブスクライブ、一時的な分離、および負荷分散のシナリオをサポートする、非同期または分離されたメッセージング機能と考えることができます。分離通信には多くの利点があります。たとえば、クライアントとサーバーは必要に応じて接続し、非同期で操作を実行できます。
ブローカ メッセージングには、非同期でメッセージを送受信できるキューとトピック / サブスクリプションが含まれます。
主な違いは、リレーの場合、エンドポイントでリッスンするアプリケーションがあることです。メッセージを送信すると、アプリケーションは受信時にそのメッセージを処理します。仲介型メッセージングの場合、メッセージはクライアントが受信したときに保存され、いつでも処理できます。