web-dev-qa-db-ja.com

Windows Service BusはMSMQに何を追加しますか?

シンプルなパブリッシュ/サブスクライブアーキテクチャに向けて、情報に基づいた選択をしたいのですが。

だから私は不思議に思います:MSMQができないことをService Busが追加するもの
サービスバスの欠点とは何ですか?

私を啓蒙するためのTHX!

36
David

主な機能上の違いは、Service Busは、パブリッシュサブスクライブを介したトピックベースのルーティングなどのメッセージ交換セマンティクスをそのままサポートします。

一方、MSMQは、ポイントツーポイントの一方向メッセージングをサポートする、軽量のストアアンドフォワードキューイングシステムです。

サービスバス:

  1. sQL Serverに依存し、
  2. ブローカー です。 これは欠点と見なされる場合があります

Pub-subフレームワークを見ている場合、現時点で人気のあるフレームワーク(シングルスレッドモードでは無料)は NServiceBus です。これは、MSMQの上にありますが、スワップ可能なトランスポートがあります。

21
tom redfern

長所

  • Service Busを使用すると、tcpとhttpを介して公開できるので、デカップリングを強化できます。
  • Service Busはsqlデータベースであるため、障害復旧は実装が非常に簡単で安価です。

短所

  • Service Busは一元化されており、MSMQはフェデレーションされているため、潜在的にスケーラブルです。 WSBではより多くのノードでスケールアウトできますが。
  • 公開するには、中央バスへのライブ接続が必要です。したがって、(各マシンで)統合されているMSMQは、クライアントがMSMQを利用しやすくします。

ただし、人々はMSMQをService Busのローカルストアとして使用しているため、ローカルで公開し、接続が利用可能になったときにそれをバスにプッシュします。

現在、MSMQの代わりにService Busを使用しています。

9
jonho