49

RabbitMQをMuleと比較すると、メッセージ指向アーキテクチャを使用してアプリケーションを構築します。AMQP(RabbitMQ)は必要なものをすべて提供しますが、関連するテクノロジーの選択肢やESBのような同様の概念に戸惑っています。他の選択肢を考慮せずに選択をしているのかどうか疑問に思っています。

RabbitMQがメッセージブローカーであり、プロデューサーとコンシューマーの間のメッセージを仲介するのに役立つことはほぼ明らかです(すべてのフォームまたはパブリッシュサブスクライブで、TwitterやFacebookの更新などの実際の例からどのように使用されているかを理解できます)

ラバを使用してRabbitMQで行うことを達成できる場合、ラバとは何ですか?ラバをRabbitMQと同様に検討する必要がありますか?

ラバの目的はメッセージブローカーの目的とは異なりますか?

ラバは、その基礎に、適切なラバリスナーにメッセージを配信するメッセージブローカーがあると想定していますか(RabbitMQでリスナーを簡単に作成できます)

muleは完全なJavaベースシステムです(RabbitMQで行った現在の実験では、クライアントをC#、サーバーをJavaとして単純なRPCクライアントサーバーを作成するのに30分もかかりませんでした。このようなことは、Muleで簡単に実行できます)。

4

4 に答える 4

80

Mule は ESB (エンタープライズ サービス バス) です。RabbitMQ はメッセージ ブローカーです。

ESBは、ルーティング、変換、ビジネス プロセス管理など、メッセージ ブローカーの上にレイヤーを追加します。これはアプリケーション間のメディエータであり、Web サービス、REST エンドポイント、データベース接続、電子メール、および ftp サーバーなどを統合します。これは、異なるプロトコルを使用するアプリケーションのネットワーク内で相互運用性を調整する高レベルの統合バックボーンです。

メッセージ ブローカは、開発者がパブリッシャーとサブスクライバーの間で未加工のメッセージを中継できるようにする下位レベルのコンポーネントです。これは、非同期処理を有効にして応答時間を低く保つために使用されます。一部のタスクは処理に時間がかかり、時間に敏感でない場合は処理を遅らせたくありません。代わりに、(パブリッシャーとして) キューにメッセージを投稿し、サブスクライバーにそれをピックアップして「後で」処理してもらいます。

于 2010-07-27T17:56:01.293 に答える
7

Mule は、メッセージ ブローカーで実装される「上位レベル」のサービスです。ドキュメントから

ESB のメッセージング バックボーンは通常、JMS を使用して実装されますが、他のメッセージ サーバー実装を使用することもできます。

rabbit で ESB を構築できます。ただし、byte[] パッケージの送信に制限され、トピックやキューなどのメッセージング プリミティブからシステムを構築する必要があります。翻訳のレイヤーが少ないため、(ベンチマーク、テスト、またはデータがまったくないことに基づいて) 少し高速になる可能性があります。Mule はこれに加えて抽象化を提供し、さまざまなトランスポートを話し、いくつかのルーティング ロジックを処理できます。

于 2010-07-27T14:40:12.333 に答える
0

Mule は、エンド ツー エンドの統合ソリューションを提供するエンタープライズ サービス バスです。Rabbit は、サブスクライバーとレシーバーの間でメッセージをキューに入れるためのメッセージ ブローカーです。

于 2016-05-19T17:24:19.640 に答える