22

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

  • 火をつけて忘れる
  • 送信者がメッセージを削除するように指示するまでそこに留まる、更新される可能性のある永続的なメッセージのセット

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

最後に、質問: どのメッセージ ブローカーを使用する必要がありますか? 私はActiveMQに偏っています - 私たちは前回のプロジェクトでそれを使用し、気に入りました。Java であり、どこかのサーバーに Java をインストールする必要があり、このサービスを使用する一部の人々にとっては売り込みが難しいかもしれないということを除いて、私はそれに対する単一のストライキを本当に考えることはできません. 私が検討しているもう 1 つのオプションは MSMQ です。なんらかの理由で私はそれに反対しています。また、優れたマルチキャスト サポートもないようです。

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

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

4

5 に答える 5

22

私はActiveMQに取り組んでいるので多少の偏見がありますが、上記の MSMQ のメリットのほとんどすべてが ActiveMQ にも当てはまります。

ActiveMQ のその他の利点には、次のようなものがあります。

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

MSMQ を選択するか ActiveMQ を選択するかに関係なく、少なくとも、Spring.NET に統合されているNMS APIの使用を検討することをお勧めします。この API の MSMQ 実装と、StompConnect を介して他の JMS プロバイダーをサポートする TibCo、ActiveMQ、および STOMP の実装があります

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

于 2008-09-16T14:00:06.540 に答える
13

MSMQ の長所。

  • Windowsに組み込まれています
  • トランザクションをサポートし、トランザクションのないキューもサポートします
  • セットアップは本当に簡単です
  • AD 統合
  • 高速ですが、トラフィックの ActiveMQ と MSMQ を比較して、どちらが高速かを知る必要があります。
  • .NET はそれをサポートしています
  • 火と忘れをサポート
  • 見るだけの読者がいる場合は、キューをのぞくことができます。キュー内のメッセージを編集できるかどうかわかりません。

短所:

  • 4MB のメッセージ サイズ制限
  • 2GB のキュー サイズ制限
  • キュー アイテムはディスク上に保持されます
  • 主流の MS 製品ではないため、ドキュメントは少し不確かであるか、使用してから数年経っています。

MSMQのブログはこちら

于 2008-08-28T19:30:44.217 に答える
7

zeromqを見てください。これは、最速のメッセージ キューの 1 つです。

于 2008-10-22T21:52:44.210 に答える
3

TIBCO Enterprise Messaging Serviceをご覧になることをお勧めします-EMSは、マルチキャスト、ルーティングをサポートし、JMS仕様をサポートし、ファイル/データベースを使用したファイアフォーゲットやメッセージの永続性などの要件を含むエンタープライズ全体の機能を提供する高性能メッセージング製品です。共有状態。

参考までに、FEDEXはメッセージングインフラストラクチャとしてTIBCOEMSで実行されます。

http://www.tibco.com/software/messaging/enterprise_messaging_service/default.jsp

私が提供する場合、他にもたくさんの参考文献があります、あなたは本当に驚かれることでしょう。

于 2008-10-04T01:13:08.757 に答える
3

そのアリーナには非常に多くのオプションがあります...

無料: ピア ツー ピアの完全に JMS に準拠したシステムである MantaRay。Mantaray の興味深い点は、メッセージの行き先を定義するだけで、MantaRay がメッセージをその宛先に到達させるようにルーティングすることです。そのため、メッセージング ファブリック内の個々のノードの障害に対してより耐性があります。

有給: 日常の仕事で、数百のノードを持つ IBM WebSphere MQ メッセージング・システムを管理していますが、非常に優れていることがわかりました。最近、Tibco EMS も購入しましたが、これもかなり使いやすそうです。

ポール/

于 2008-10-22T21:41:22.920 に答える