web-dev-qa-db-ja.com

MassTransitはRabbitMQに何を追加しますか?

RabbitMQ の上に直接構築するのと比較して、 MassTransit の上に構築することの利点は何ですか?

MassTransitが提供する利点の1つは、メッセージのコンテンツが構造化されていないテキスト/ BLOBであるプレーンなRabbitMQ交換と比較して、メッセージのコンテンツが構造化されている「タイプ」交換(インターフェイス/タイプごとのパブリッシュサブスクライブ)です。

MassTransitが提供するその他のメリットは何ですか?

33
Endy Tjahjono

MTは、RabbitMQを使用するだけでなく追加されます。

  • マルチスレッドの同時コンシューマー
  • インターフェイスを含むメッセージのシリアル化とバージョン管理
  • 自動交換バインディング、公開規則
  • NHibernateを介した永続状態を含むSagas
  • サービスのパフォーマンスカウンター
  • メッセージヘッダー
  • 障害処理

それらはほんの数例であり、他のものより重要なものもあります。バスがコンシューマー、ハンドラー、サガをホストし、すべてのスレッドを管理するという事実は、おそらく最大の利点であり、同じプロセスで複数のバスをホストできるという事実です。

シリアル化は次の最大の利点です。これは理解するのが難しい場合があり、タイプ(動的にバックアップされたインターフェイスタイプを含む)に自動的に逆シリアル化されたインターフェイスベースのメッセージコントラクトを取得することは非常に大きなメリットです。複数のインターフェイスを実装する単一のクラスを公開し、関心のあるすべてのコンシューマーがメッセージの一部を非同期で取得するのを確認することは、新しいインターフェイスをプロデューサーに追加でき、ダウンレベルのコンシューマーは影響を受けないため、本番環境では素晴らしいことです。

これらはいくつかあります。詳細については、 http://masstransit-project.com/MassTransit/understand/additions-to-transport.html でドキュメントを確認するか、最近の 。NET Rocks!ポッドキャスト あなたの関連コンテンツを本当に聞いてください。

45
Chris Patterson