2011-09-12 23 views
11

私たちの要件は非常に簡単です。トピックに登録したユーザーにメッセージを送信する。数百万のトピックや、特定のトピックに対する何百万人もの加入者をほぼリアルタイムでサポートできるように、メッセージングシステムが必要です。私たちのアプリケーションはJavaで構築されています。Pub SubにRedisを使用する。 RabbitMQのメリット/デメリット

私たちは、コミュニティのサポート、ドキュメント、機能(おそらく、必要なものすべてを提供する可能性があるため)のためにRabbitMQを決定しました。しかし、私は、有望で軽量に見えるので、Redisを使用することに非常に傾いています。正直言って私はメッセージシステムとしてのRedisについての理解は限られていますが、待ち行列(Ruby Resque)として使用する企業が増えていることを見て、Resqueのような製品があるかどうか、 RabbitMQよりもMQとしてRedisを使用することの短所があります。

答えて

7

RabbitMQはクラスタリングをサポートしており、アクティブ/アクティブのHigh Availabilityキューを備えているため、すぐにすぐにRedisでスケールアウトと可用性を向上できます。

RabbitMQは、交換/キューのユーザー/権限から、特定の交換またはキュー(ディスクとメモリ)の耐久性、配信の保証(トランザクション、パブリッシャの確認)など、 。ダックワース

また

+0

、複数のキューに、より柔軟性とあなたのトポロジーのオプション(ファンアウト、トピック、ダイレクト)とルーティングが可能になりますRPC専用キューとし、返信先などのおかげで。私のジレンマは、heello.comがredis/Resqueを使用しており、多分大量のメッセージフローの準備ができているという事実から来ています。私はレディスがこのようなスケールを扱う準備ができているのだろうかと思っていました。私はまだ答えを見つけることに興味がありますが、そうでなければ私はRabbitMQに慣れています。 – Walker

+1

私はRMQのために使ったすべてのクライアントライブラリに、永続的な接続を維持する際に深刻なバグがありました。設計/アーキテクチャはかなりですが、実際の高可用性の状況を考慮してください。 – djechlin

関連する問題