NServiceBusの最初の作者として、私はおそらく自分のテクノロジーに少し偏っていますが、これを可能な限りバランスの取れたものに保つように努めます。
輸送サポート
NServiceBusとMassTransitサポートの両方のRabbitMQとAzureのサービスバスが、NServiceBusもサポートしています。
RabbitMQのトピックについて
引数がNServiceBusがRabbitMQのための強力なサポートを持っていることを作ることができる-例えば、その中に遅延配信機能大量輸送をしながら、述べて。それはMassTransitによってサポートされている彼らの「プラグインは、まだ実験的と見なされていることが、私たちはより多くのプラグインよりも保証は何もできませんそれ自体を保証します。」
また、RabbitMQチームと緊密に連携し、エコシステム全体の利益のために.netSDKに貢献しています。
Azure ServiceBusに関しては
Azure Service Busチームとのコラボレーションのレベルはさらに高く、.netコアSDKに対して70を超えるPRがあります。
NServiceBusを使用すると、その知識の完全な深さから恩恵を受けることができます。
ツーリング
これが最大の違いです。
実質的なシステムを構築したら、さまざまな可動部品がどのように相互に通信するかを可視化することが非常に重要になります。MassTransitは、診断ソースを介したApplicationInsightsやOpenTraceなどのサードパーティツールへの小さな統合以外に、この分野で多くのことを行っていません。
NServiceBus周辺のサービスプラットフォームはかなり進んでおり、ServiceInsightを使用してすべてのエンドポイントのシーケンス図を表示できます。
すべてのエンドポイントとメッセージの論理ビューを取得することもできます。
本質的に、システムのアーキテクチャの生きたドキュメントを入手できます。
管理と監視
これは、MassTransitがあまりないもう1つの領域です。統合しているサードパーティのシステムが使用できなくなり、システム内の一連のメッセージがエラーキューに入れられた場合、MassTransitが持つ唯一の解決策は、後でRabbitMQShovelプラグインを使用してそれらのメッセージを手動で戻すことです。
NServiceBus周辺のサービスプラットフォームには、そのエラーキューの監視、エラーの原因を確認するためのグラフィカルツール、失敗したメッセージのグループを再生して、すべてが単純なWebアプリで実際に正常に処理されたことを確認する機能が含まれています。ServicePulseと呼ばれます。
メッセージが失敗し始める前に問題の早期警告を提供できる定期的に実行されるヘルスチェックの視覚化もあります。
そして最後に、プラットフォームで利用可能なパフォーマンス監視があります。
本番サポートに関しては、完全なパッケージを実際に入手できます。
長期サポートと下位互換性
公共交通機関の人々は、GitterやGoogleグループでそれについて質問がある人を助けるのに常に非常に優れていますが、古いバージョンでバグ修正を提供しているとは思いません。実動システムが数年前から存在していて、すべてを常にアップグレードすることはできない場合、それが重要になり始めます。
NServiceBusのサポートには次のものが含まれます。
- メジャーバージョンごとに2年以上
- さらに2年間の延長サポート
- 重要な問題に対する保証された応答時間
- 24時間年中無休の可用性
コンサルティングとトレーニング
オフラインの観点からは、NServiceBusで世界中で利用できる公開コースがあり、プロジェクトを開始したり問題が発生した場合に支援したりするためにオンサイトに連れて行くことができる多くのコンサルタントもいます。MassTransitからNServiceBusに切り替えることを決定したいくつかの企業から、必要なときに誰かを現場に連れて行くことができなかったと聞いています。
ライセンス
NServiceBusについてまだ知らない人がいるのは、個人的な使用やスタートアップは無料だということです。
それがに来るときは商用利用、NServiceBusの周りのライセンスモデルは、顧客の幅広いが示すように、非常に柔軟性があり、よく管理に正当化することができます。もちろん、MassTransitでは、ライセンスは無料です。
それが何らかの形で役立つことを願っています。