マルチキャスト、メッセージング、ActiveMQ と MSMQ の違いは? 質問する

マルチキャスト、メッセージング、ActiveMQ と MSMQ の違いは? 質問する

私は自社製品用のメッセージング/通知システムの開発に取り組んでいます。基本的な要件は次のとおりです。

  • 発射して忘れる
  • 送信者が削除するように指示するまで、更新される可能性のある永続的なメッセージ セットがそこに残ります。

ライブラリは C# で記述されます。Spring.NET は、多くの優れたメッセージング抽象化を備えたマイルストーン ビルドをリリースしたばかりです。これは素晴らしいことです。私はこれを幅広く使用していくつもりです。私の基本的な質問は、メッセージ ブローカーに関するものです。私のアーキテクチャは、アプリ -> メッセージ ブローカー キュー -> リッスンし、すべてのメッセージを必要な場所にディスパッチし、それらの長期メッセージのライフ サイクルを処理するサーバー アプリ -> メッセージ ブローカー キューまたはトピック -> リッスン アプリのようになります。

最後に質問です。どのメッセージブローカーを使うべきでしょうか?私はアクティブMQ- 前回のプロジェクトで使用しましたが、とても気に入りました。Java なので、どこかのサーバーに Java をインストールする必要があること以外、欠点は特に思い当たりません。このサービスを利用する一部の人には、これは受け入れがたいかもしれません。私が検討しているもう 1 つのオプションは MSMQ です。理由はわかりませんが、私は MSMQ に対して偏見を持っています。また、マルチキャストのサポートもあまりよくないようです。

このような目的で MSMQ を使用したことがある人はいますか? 賛否両論、投票を左右する可能性のあるものはありますか?

最後に、私たちは .NET 2.0 を使用しています。

ベストアンサー1

私は仕事をする上で少し偏見を持っていますアクティブMQしかし、実際には、上記で MSMQ について挙げた利点のほとんどすべてが ActiveMQ にも当てはまります。

ActiveMQのその他の利点としては、

あなたが言及した主な欠点は、ActiveMQ ブローカーが Java で記述されていることです。ただし、本当に必要な場合は、IKVM 上で .net アセンブリとして実行したり、Windows サービスとして実行したり、GCJ 経由で DLL/EXE にコンパイルしたりすることができます。MSMQ は .NET で記述されているかどうかはわかりませんが、どのように実装されているかはそれほど重要ではありませんよね?

MSMQとActiveMQのどちらを選択するかに関係なく、少なくとも以下を検討することをお勧めします。NMS APIこれはおっしゃるとおり、Spring.NETにうまく統合されています。このAPIのMSMQ実装と、TibCo、ActiveMQ、STOMPの実装があり、他のJMSプロバイダーもサポートします。ストンプコネクト

したがって、APIとしてNMSを選択すると、独自のテクノロジーに縛られることがなくなり、いつでも簡単にメッセージングプロバイダーを切り替えることができます。コード全体を独自のAPIにロックするのではなく、

おすすめ記事