web-dev-qa-db-ja.com

HornetQとActiveMQとQpidの利点

私はオープンソースのメッセージングソフトウェアを探していましたが、少し調べてみると、これら3つの製品に出くわしました。キューやトピックのメッセージを処理してもらうために、これらを予備テストドライブに持ち出しました。私が読んだことから、これら3つの製品はすべて、ほとんどの企業のオープンソースメッセージングソリューションに適しています。私が疑問に思っていたのは、これらの製品が互いにどのような利点を持っているのかということでした。私が特に興味を持っているのは、永続的なメッセージングスループット、セキュリティ、スケーラビリティ、信頼性、サポート、ルーティング機能、メトリックや監視などの管理オプションを含むメッセージングスループット、そして一般的に各プログラムが大規模なビジネス環境でどれだけうまく実行されるかです。

24
Raymond Linear

チェックアウト http://queues.io/

彼らのサイトから:

目標は、それらに関する記事、ブログ投稿、スライド、およびビデオのコレクションを含むキューの品質リストを作成することです。リンクされた記事を読んだ後、各キューの長所と短所、キューの仕組みの基本的な理解、および各キューが何を達成しようとしているのかについての良いアイデアが得られるはずです。基本的に、ニーズに最適なキューを決定するために必要なすべての情報が必要です。

5
rcl

「メッセージング」は多くのオプションをカバーします-そして正しい答えになる可能性のある少なくとも12の異なるタイプのテクノロジーが必要です-さまざまなテクノロジー/アプローチを使用して多くの本番メッセージング環境を構築し、要件をよりよく理解する助けて。

サブジェクトベースのサブスクリプションが必要ですか?マルチキャスト配信が必要ですか?動的なサブスクライバー/リスナーが必要ですか?受け入れ可能な発行元/フィードを見つけた後でも、リスナーは最良のソースを再クエリしますか?

配達保証が必要ですか?配達確認?未配信のメッセージを保存している発行元ですか、それとも自動的にそれを行うためのメッセージングシステムが必要ですか?フィードデータが古くなる頻度-例:電子メールのようなアラートはストアアンドフォワードである可能性がありますが、リアルタイムの価格データは短い間隔でのみ有効です(そして、混乱を引き起こすのではなく、おそらく消える必要があります)

ネットワークトポロジはどの程度不安定ですか?あなたの購読者(または出版社)は固定アドレスに住むことを期待していますか?それともモバイルデバイスですか?登録が必要で、ルーティング制限を課す可能性のある、より複雑なインターネットワークトポロジでそれらが表示される可能性はありますか?もしそうなら、これらのトポロジーの頻度が変わるという考えはありますか?

Javaインターフェイスのみが必要ですか?Windowsコンポーネント(Excelへのフィードなど)に統合するサブスクライバーはありますか?

名前を付けた類似の製品を比較した経験だけに興味がある場合は、おそらくこれらのトピックについてすでに考えたことがあるでしょう。

製品に関しては、私の経験では、Tibcoは、特にリアルタイム環境において、スループットとスケーラビリティのリーダーです。特にストアアンドフォワードアーキテクチャでは、ibmMQが次になります。これらの製品の両方を使用すると、ビジネスシステムの基本的な部分に賭けることを正当化できるレベルのサポートを得ることができます。これらの両方が数十年前から存在しているのには理由があります。

見過ごされがちなもう1つのオプションはTuxedoです。これは、メッセージングだけでなく、比類のない実績のあるトランザクション機能を提供します。オラクルは引き続きこの製品に取り組んでおり、利用可能なサポートのレベルは他の追随を許しません。

私はオープンソースソリューションが大好きで、無料で本番品質のソフトウェアを見つけることができてうれしいですが、ビジネスインフラストラクチャの基本的な部分を作成している場合でも、アクティブなコミュニティは特定の自主的なプロジェクトが最善の策かどうかを示していない可能性があります。

私の2cの価値。それが役に立てば幸い。

2
chaosless

まず、私はこれの専門家ではありませんが、おそらく私はあなたにいくつかの考えのヒントを与えることができます。

ActiveMQとQpidはどちらもApacheの傘下にあり、メッセージキューです。ただし、QpidはAMQP仕様の実装です。

AMQPは、ワイヤレベルでのプロトコル仕様であるため、メッセージを他のAMQPメッセージキュー(RabbitMQなど)と交換できます。

ActiveMQとHornetQは、JMSAPIで使用できるキューです。 Javaメッセージサービスは、APIレベルの仕様です。

ただし、JMSAPIを介してQpidにアクセスするオプションもあります。パフォーマンスは二次的な考えだと思います。活発なコミュニティを持つことはより重要です。

1
hellectronic

http://x-aeon.com/wp/2013/04/10/a-quick-message-queue-benchmark-activemq-rabbitmq-hornetq-qpid-apollo/

ベンチマークには、永続的な結果と一時的な結果の両方で、決定するためのいくつかのパフォーマンス数値が含まれています。

1
rektide