私たちは選択した実装としてActiveMQ 5.2を使用しており、少し前にそれを選択しました。現在の使用には十分な性能です。しばらく前から、他にどのような Java Message Service 実装が使用されているのか、またその理由を知りたいと思っていました。確かに数は多いです。
10 に答える
JMS を掘り下げる前に、AMQP も検討してください。AMQP は新しい標準である可能性があります。私が使用した JMS プロバイダー (さまざまな程度):
TIBCO EMS - 非常に高速で堅牢、優れた API サポート、Java フレンドリー、ネイティブ C API が存在します。私が使用した中で最高の商業的選択。
Websphere MQ (およびその JMS 実装) - そう、そうです。Pub/Sub は正確には高速ではありません。多くの構成オプションと選択肢は「奇妙」であり、その製品の長い歴史からすると過度に複雑です。書類の量を見てください...
Solace JMS - 非常に高いスループット (JMS ブローカーはハードウェアに組み込まれています!)、適切な接続プロトコルの選択 (MQTT、AMQP、XML over http を管理プロトコルとして使用)
Fiorano MQ - 以前は積極的なマーケティングを行っていましたが、多くの市場シェアを失い、成熟度への懸念がありました
Sonic MQ - 堅牢な製品で、C API もサポート
Active MQ - オープンソース製品 (安価なサポート、優れたコミュニティ、限られたアドオン製品、限られたエンタープライズ機能) を使用したい場合、これがおそらく最良の選択です。すぐに使用でき、Apache Camel などのいくつかのツールのバックボーンとなっています。
Camel フレームワークを介して AMQ (5.1) に依存しており、問題は発生していません。AMQ 4 は少し怪しげでした。
WebLogic を使用する場合の WebLogic JMS プロバイダー。よく働く。
SunのオープンソースOpenMQ(https://mq.dev.java.net/)。あなたは同じために無料と有料のサポートを受けることができます。
ActiveMQなどとの比較については、このブログ投稿を参照してください-http ://alexismp.wordpress.com/2008/06/06/openmq-the-untold-story/。
OpenMQの方が安定していると聞きました。
ActiveMQはより柔軟です。のように、より多くの言語で使用できます。ActiveMQのメーリングリストには、OpenMQよりも多くの人がいる可能性があります。
ティブコEMS。これは、Java/JMS、C、.net、およびその他のバインディングを備えた商用メッセージ サービスです。
私が参加した最近のプロジェクトの 1 つで、Sonic MQを使用しました。.NET への適切なバインディングを備えた、全体的な適切な実装。
スケーラビリティの問題が少しありましたが、スケーラビリティの要件が非常に厳しかったことを認めなければなりません: 私の記憶が正しければ、200 の異なるクライアント間で遅延が許されず、1 秒間に 20,000 回の混乱が発生します (すべてのクライアントがすべてのメッセージを受信する必要がありました)。同時に)。
バージョン 4 までの JBoss アプリ サーバーに付属する JBossMQ を使用しました。JBoss Messaging は後継であり、JBossAS 5 に付属しており、大幅に改善されています。
ActiveMQ は本当に嫌いです。開発者は、安定性を犠牲にしてパフォーマンスと機能を求めているようで、驚異的なバグがあります。これが Geronimo の JMS ファブリックであることを考えると、心配です。
IBM WebSphere MQ 5 および 6 Active MQ 5.2.0
また、 http: //codingjunky.com/page5/page4/page4.html で Micro QueueManager を確認してください 。これは小さく、インストールが簡単で、小規模なプロジェクトに使用できます。
SonicMQ、JBossMQ、および Lotus Expeditor Integrator の「マイクロ ブローカー」を使用しています。さまざまな目的でそれらを使用しています。
-JBossMQ は内部で使用され、JBoss で実行されるすべての Java EE アプリケーションと通信します。-Lotus Expeditor は、限られたリソースと IT スタッフしかいない「リモート サイト」で使用されます -SonicMQ はメッセージング バックボーンです。1000 サイト。
私たちはそれらすべてで良い経験をしていますが、私たちの経験では、より複雑な環境では、メッセージング システムをより積極的に管理する必要があります。これは、私たちのサイトの SonicMQ で特に当てはまりました :-) . パフォーマンスの観点からは、特にキュー ベースの永続的なメッセージングで、SonicMQ を使用して最高のエクスペリエンスを実現しました。
私は ActiveMQ を本番環境で数年間使用してきましたが、その安定性について満足したことはありませんでした (特にクラスター対応の場合)。OpenMQ に切り替えた後、振り返ることはありません。RabbitMQ または ZeroMQ を調べることをお勧めします。