2017-01-12 6 views
0

私たちのアプリケーションは現在、毎秒約1500回のトランザクションを処理しています。キューにはウサギがありますが、実際のメッセージであるラビットにはトランザクションIDのみが格納されます。サイズは1-5MBです。 Redis(メモリDB内)に格納する。私の質問は、私たちはレディスを完全に取り除き、ウサギだけを使用することができますか?RabbitMqの制限、クラスタリング

もう1つのことは、負荷がかなり高速になることを期待しているので、ウサギインスタンスの数を水平に増やすことができます(すでにマスターマスターレプリケーションを正常にテストしています)。

+0

を助け、それはデータベースではありません。 – cantSleepNow

答えて

3

一般的に、これは私にとっては良い考えではありません。 うさぎはメッセージングシステムであり、データベースではありません。

メッセージはどこかのウサギに保存する必要があります。いくつかのウサギのインスタンスがダウンした場合、あなたのメッセージを失うでしょう。永続性を使用する場合、状況はさらに悪化します。

クラスタ化されたウサギは、すべてのメッセージを同期する必要があるため、レプリケートされたノードを持つ任意のウサギノードを再起動すると時間がかかります。実際に

、私は今あなたが最良の解決策を持っていると信じて:)

・ホープこれはあなたがRabbitMQの中で何を格納すべきではない

+1

また、1MBのメッセージがRabbitMQを通って移動するのが非常に遅くなり、5MBに向かうとさらに遅くなると付け加えます。あなたのメッセージを小さくしておくと、彼らは非常に速く経路を決めて消費することができます。現在の設定が正しいセットアップのように聞こえます。 –