2008-08-28 7 views
21

私は、当社製品のメッセージング/通知システムに取り組んでいます。基本的な要件は次のとおりです。マルチキャスト、メッセージング、ActiveMQ vs. MSMQ?

  • 火とは、おそらく更新、メッセージの
  • 永続セットを忘れて、送信者が彼らに

ライブラリはC#で記述されますを削除するには言うまでそこに滞在します。 Spring.NETはすばらしいメッセージング抽象概念を多数取り入れたマイルストーンビルドをリリースしました。これは広範囲に使用する予定です。私の基本的な質問は、メッセージブローカーの問題です。私のアーキテクチャは、アプリケーション - >メッセージブローカーキュー - >受信するすべてのメッセージをディスパッチし、それらの長命メッセージのライフサイクルを処理するサーバーアプリケーションのように見える - >メッセージブローカーキューまたはトピック - >リスニングアプリ。

最後に、どのメッセージブローカーを使用すべきですか?私はActiveMQに偏っています - 私たちは最後のプロジェクトでそれを使い、それを愛していました。私はそれがJavaであることを除いて、それに対して1回のストライキは本当に考えることができず、Javaがサーバにどこかにインストールされる必要があり、それはこのサービスを使用する人の一部には難しい販売かもしれません。私が見てきたもう一つの選択肢はMSMQです。私は何らかの未知の理由でそれに偏っていますし、大きなマルチキャストをサポートしていないようです。

MSMQを使用した人は誰ですか?賛否両論、賛否両論を揺さぶるかもしれない何か?

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

答えて

22

のために良いブログです。ActiveMQのの

いくつかのより多くの利点がenterprise integration patterns

  • exclusive queuesようadvanced featuresのトンとmessage groups
  • あなたが言及メイン欠点のため​​

  • 優れたサポートのための

    • 素晴らしいサポートが含まActiveMQブローカはJavaで書かれていること。本当に必要な場合は、IKVM上で.netアセンブリとして実行することも、Windowsサービスとして実行することも、GCJを介してDLL/EXEにコンパイルすることもできます。 MSMQは.NETに書かれていてもいなくてもかまいませんが、実際に実装された方法はそれほど重要ではありませんか?

      MSMQとActiveMQのどちらを選択しても、最低でもNMS APIを使用することをお勧めしますが、これはSpring.NETに統合されていると言います。このAPIのMSMQ実装と、StompConnect経由で他のJMSプロバイダをサポートするTibCo、ActiveMQ、およびSTOMPの実装があります。

      あなたのAPIとしてNMSを選択することで、独自のテクノロジにロックされるのを避けることができます。そして、任意の時点でメッセージングプロバイダを簡単に切り替えることができます。コードをすべて独自のAPIにロックするのではなく

  • 13

    MSMQの利点。

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

    短所:

    • 4メガバイトのメッセージサイズ制限
    • 2ギガバイトキューサイズ制限
    • キュー項目が
    • ていない主流MS製品ディスク
    • に保持されている、ドキュメントは、ビットあやふやであるか、またはそれを使ってから数年経っていたのです。ここで

    は、私がActiveMQに動作しますが、ほとんどすべてのMSMQのために列挙された利点のは、上記のも本当にActiveMQのに適用されますように私はちょっと偏ってるMSMQ

    +0

    MSMQ:キューアイテムは、永続メッセージを使用している場合にのみディスクに保持されます。私はActiveMQにも同じことが起こると思います。 –

    3

    マルチキャスト、ルーティング、JMS仕様をサポートする高性能メッセージング製品であるTIBCOエンタープライズ・メッセージング・サービス - EMSをご覧になることをお勧めします。共有状態を使用したファイル/データベースを使用したFire-forgetやメッセージ永続性などの要件。

    参考として、FEDEXはメッセージングインフラストラクチャとしてTIBCO EMS で動作します。

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

    多くの他の文献は、私が提供する場合、あなたが本当に驚かれることと思いますがあります。その分野で非常に多くのオプションがあります

    3

    ...

    無料:マンタレイ完全にJMS準拠システムをピアツーピア。 Mantarayの興味深い部分は、メッセージがどこに行き、MantaRayがメッセージをどこに送るかを定義するだけでよいことです。メッセージングファブリック内の個々のノードの障害に対して、より耐性があります。

    有料:私の仕事では、数百のノードを持つIBM WebSphere MQメッセージング・システムを管理し、非常に良いと判断しました。また、最近Tibco EMSを購入しました。使用するのもかなりいいと思われます。

    ポール/

    7

    zeromqを見てみましょう。これは、最速のメッセージキューの1つです。