私はオープン ソースのメッセージング ソフトウェアを探していて、かなりの調査を行った結果、これら 3 つの製品に出会いました。私はこれらの製品を予備テスト用に取り出し、キューとトピックのメッセージを処理してもらいました。私が読んだ限りでは、これら 3 つの製品はすべて、ほとんどの企業にとってオープン ソースのメッセージング ソリューションとして適しています。私が疑問に思っていたのは、これらの製品が互いにどのような利点を持っているのでしょうか? 私が特に関心を持っているのは、永続的なメッセージング スループット、セキュリティ、スケーラビリティ、信頼性、サポート、ルーティング機能、メトリックや監視などの管理オプション、および一般的に各プログラムが大規模なビジネス環境でどれだけうまく動作するかなど、メッセージング スループットです。
4 に答える
http://queues.io/をチェックしてください
彼らのサイトから:
目標は、それらに関する記事、ブログ投稿、スライド、およびビデオのコレクションを使用して、キューの質の高いリストを作成することです。リンクされた記事を読むと、各キューの長所と短所、キューの仕組みの基本的な理解、および各キューが何を達成しようとしているのかについての良い考えが得られるはずです. 基本的に、ニーズに最適なキューを決定するために必要なすべての情報が必要です。
「メッセージング」は多くのオプションをカバーしています - そして、正しい答えとなる可能性のある技術には、少なくとも十数種類の技術があるはずです - 多くの本番メッセージング環境を構築し、さまざまな技術/アプローチを使用し、要件をよりよく理解することは、ヘルプ。
サブジェクトベースのサブスクリプションが必要ですか? マルチキャスト配信が必要ですか? 動的なサブスクライバー/リスナーが必要ですか? 許容できるパブリッシャー/フィードを見つけた後でも、リスナーは最適なソースを再クエリしますか?
配達保証は必要ですか?配送の確認?パブリッシャーが未配信のメッセージを保存していますか? それとも、メッセージング システムが自動的にそれを行う必要がありますか? フィード データはどのくらいの頻度で古くなりますか。たとえば、メールのようなアラートはストア アンド フォワードできますが、リアルタイムの価格データは短期間しか有効ではありません (その後、混乱を招くのではなく、おそらく削除する必要があります)。
ネットワーク トポロジはどの程度不安定ですか。サブスクライバー (またはパブリッシャー) は固定住所に住むことを期待していますか? それともモバイルデバイスですか?登録を必要とし、ルーティング制限を課す可能性のある、より複雑なインターネットワーク トポロジを介して、それらが表示される可能性はありますか? もしそうなら、これらのトポロジーの変化の頻度について何か考えはありますか?
Javaインターフェースだけが必要ですか?Windows コンポーネント (Excel へのフィードなど) に統合されるサブスクライバーはありますか?
名前を付けた類似製品を比較した経験だけに興味がある場合は、これらのトピックについてすでに考えている可能性があります。
製品に関しては、私の経験では、特にリアルタイム環境では、Tibco が依然としてスループットとスケーラビリティのリーダーです。ibm MQ は、特にストア アンド フォワード アーキテクチャでは次の候補です。これらの製品の両方で、ビジネス システムの基本的な部分を賭けることを正当化できるレベルのサポートを得ることができます。それらの両方が数十年にわたって存在しているのには理由があります。
見落とされがちなもう 1 つのオプションは Tuxedo です。Tuxedo は、メッセージングだけでなく、比類のない実証済みのトランザクション機能を提供します。オラクルは引き続きこの製品に取り組んでおり、利用可能なサポートのレベルも他の追随を許しません。
私はオープンソースのソリューションが大好きで、製品品質のソフトウェアを無料で見つけられることを常に喜んでいます。しかし、ビジネス インフラストラクチャの基本的な部分を作成している場合、アクティブなコミュニティは、特定の自発的なプロジェクトが最善の策であるかどうかを示していない可能性があります。
私の2cの価値。それが役に立てば幸い。
まず、私はこの分野の専門家ではありませんが、ヒントをいくつか提供できるかもしれません。
ActiveMQ と Qpid はどちらも Apache の傘下にあり、メッセージ キューです。ただし、Qpid は AMQP 仕様の実装です。
AMQP はワイヤ レベルのプロトコル仕様であるため、メッセージは他の AMQP メッセージ キュー (RabbitMQ など) と交換できます。
ActiveMQ と HornetQ は、JMS API で使用できるキューです。Java Message Service は API レベルの仕様です。
ただし、JMS API を介して Qpid にアクセスするオプションもあります。パフォーマンスは二次的な考えだと思います。活発なコミュニティを持つことがより重要です。