14

RabbitMQ はデフォルトでクラスタリングをサポートしていますが、キューは複製されず、キューが作成されたノードにバインドされます。アクティブなサーバーがダウンするのを待っているだけのサーバー全体を予約するのはリソースの浪費のように思えるため、彼らが文書化した DRBD ソリューション以外に、RabbitMQ を高可用性にする方法を探しています。

キューが 2 つある設定を考えています。メッセージがパブリッシュされたら、RabbitMQ クラスターがメッセージを 2 つのキューのいずれかに送信するようにします。パブリッシャーがダウンしているキューにパブリッシュしようとするとエラーが発生し、パブリッシャーが他のキューで再試行できることはわかっていますが、これをクラスター レベルで自動的に実行できるかどうか疑問に思っています。それを処理するためにクライアント コードを記述する必要はありません。これはできますか?

4

3 に答える 3

14

最近、RabbitMQ にアクティブ/アクティブ ネイティブ サポートが追加されました。 http://www.rabbitmq.com/ha.html

于 2012-02-08T18:07:11.800 に答える
6

代替取引所をご覧ください。

それは基本的にあなたが求めたものですが、キューの代わりに交換があります. アイデアは、指定された代替取引所で取引所に公開することです (任意の RabbitMQ クライアントでこれを行うことができます)。メッセージが最初に配信できる場合は、配信されます。そうでない場合 (到達できないか、それにバインドされたキューがないため)、代替が使用されます。

于 2010-08-05T14:34:19.287 に答える
5

高可用性別名「ミラーリング」キューは、Rabbit HA のゴールド スタンダードです。

于 2013-08-29T16:52:57.023 に答える