質問

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

  • 火をつけて忘れる
  • 送信者が削除するよう指示するまで存在する、永続的なメッセージのセット (場合によっては更新される)

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

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

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

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

役に立ちましたか?

解決

仕事をしているとちょっと偏見を持ってしまいます アクティブ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 にロックするのではなく、

他のヒント

MSMQ の長所。

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

短所:

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

こんな方におすすめのブログはこちら MSMQ

を見てみましょう ゼロエムク. 。これは、最も高速なメッセージ キューの 1 つです。

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

参照として、FedExはTIBCO EMSをメッセージングインフラストラクチャとして実行しています。

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

他にもたくさんの参考文献があるので、私が提供したら、あなたは本当に驚かれるでしょう。

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

無料:MantaRay は、完全に JMS 準拠のピアツーピア システムです。Mantaray の興味深い点は、メッセージの送信先を定義するだけで済み、MantaRay はとにかくメッセージを目的地に届けるためにメッセージをルーティングすることです。そのため、メッセージング ファブリック内の個々のノードの障害に対する耐性が高くなります。

有料:私は本業で数百のノードを備えた IBM WebSphere MQ メッセージング システムを管理していますが、それが非常に優れていることがわかりました。最近 Tibco EMS も購入しましたが、これもかなり使い心地が良さそうです。

ポール/

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top