回答:
トランザクションを処理する方法、例外によってロールバックが発生する方法、ロールバックを無限に停止する方法(有害メッセージ)など、適切に取得する必要があるいくらか難しいものがあるため、手作業での解決策は避けてください。状態管理の境界が揃うように、長時間実行されるワークフローと統合する方法など。
おそらく何らかの耐久性のある/トランザクションメッセージングインフラストラクチャが必要になるため、MSMQを使用せずに、MicrosoftプラットフォームのService Broker、またはActiveMQのような他の代替手段を使用します。MSMQには、Service Brokerがインストールされていないのとは対照的に、すべてのWindowsマシンにすでにインストールされているという利点があります。
NServiceBus、Mass Transit、Rhino Service Busのいずれかを選択するという点で、NServiceBusとMassTransitを比較するこのStackoverflowの回答は、開始するのに適しています。
3.1リリースでは、NSB Studioを導入します。NSBStudioは、より高い抽象化レベルでシステムをモデル化し、NSeriveBusの多くの構成と初期化を自動的に行うことができるVisual Studio統合モデリングツールのセットです。これは、NServiceBusを支持するスケールのヒントになると思います。
お役に立てば幸いです。
免責事項:私はNServiceBusの作成者です。
NServiceBusは優れた製品ですが、ライセンスの問題に注意してください。著者の望むように、ライセンスポリシーを変更する傾向があります。たとえば、古いライセンス情報を見てください。
プロジェクト開発の途中で、NServiceBusに多額のお金を払わなければならないことがわかる場合があります。
また、無料版にはパフォーマンスの制限があります。
MassTransitは完全に無料のオープンソースであり、制限はなく、Apache 2.0ライセンスに基づいています。
Rhino Service Busを使用していません。
RhinoとNServicebusの状態の更新:
http://www.infoq.com/news/2012/04/nservicebus3-0
InfoQからAyende: これまでに、.NET用のサービスバス、つまりRhinoサービスバスを作成しました。Rhino Service Busのユーザーは今再考してNServiceBusに移行する必要がありますか?
Ayende:私は2008年頃にRhino Service Busを作成しました。その主な理由は、当時他のサービスバスの状態に満足できなかったためです。サービスバスを構築するときに、さまざまな懸念と方向性がありましたが、それは4年前のことです。その時、私はNServiceBusがより使いやすい製品になり、箱から出してすぐに開発のストーリーを伸ばすことに大きな進歩を遂げたと思います。今日のサービスバスから始めたとしたら、自分でバスを作るのではないでしょうか。
MSMQベースの潜在的な欠点は、最大メッセージサイズの制限です。IIRCのサイズは約4MBです。大きなファイルを処理していて、ファイルのコンテンツをメッセージ内に保存している場合は、簡単に実行される可能性があります。