web-dev-qa-db-ja.com

プレーンなRabbitMQに対するNServiceBusの特定の利点

RabbitMQに.netドライバーを使用するよりもNServiceBusを使用する利点はありますか(MSMQをAMQPに置き換えることができると仮定)。 NSBは、AMQPで直接利用できない追加の機能または抽象化を提供しますか?.

30
xrcsblue

主な利点は次のとおりです(ただし、これらに限定されません)。

  • メッセージのシリアル化/逆シリアル化を処理します。
  • メッセージをディスパッチするためのきちんとしたモデルを提供しますw。ハンドラー、ポリモーフィックディスパッチ、パイプラインでのハンドラーの配置など。
  • 作業単位を処理します。
  • きちんとしたsagaの実装を提供します。
  • F5デバッグおよびWindowsサービスとしてのインストールが可能なホストプロセスを提供します。

これらは、RabbitMQ .NETクライアントを直接使用する場合に、自分でロールする必要があるものです。もちろん、これらのいずれも必要ない場合を除きます。

ああ、RabbitMQの代わりにMSMQを使用すると、これらすべてをブローカーなしモデルで取得できます:)

28
mookid8000

NSBは、ほとんどの場合、基盤となるトランスポートとしてMSMQを使用します。 RabbitMQまたはその他のAMQP準拠のトランスポートを使用できます。 NSBは、ポイントツーポイント通信、pub/subなどを含むすべての基本的なメッセージングパターンのサポートを提供します。特定のトランスポートを使用する決定は、NSB自体を選択する決定とは異なります。多くの機能があり、 ドキュメントページ から取得してアイデアを得ることができます。

3
Adam Fyles