3

別の場所にあるマシンに「rabbitMQ クラスター」のようなものをセットアップしていますが、これは RabbitMQ クラスタリングには適していません (単一の場所にあるマシンで作業する必要があるため)。

私はrabbitMQフェデレーションを見ていますが、それはノードの有向ネットワークです。最初のノードがダウンした場合、次のノードへの書き込みに自動的に移行できますか?

私の目標は、いくつかのノードがダウンしていても、マシンが別の場所にある場合でも、ログ/データが引き続き流れるようにすることです

( RabbitMQ フェデレーションを使用して、双方向にすることはできますか? たとえば、ノード 1 とノード 2 があり、ノード 1 をノード 2 の上流と下流の両方に設定し、ノード 2 もノード 1 の上流と下流の両方に設定します。クラスターですが、別の場所にあるマシンと連携できます)

4

1 に答える 1

4

最初のノードがダウンした場合、次のノードへの書き込みに自動的に移行できますか?

DNS またはロード バランサーを構成し、トラフィックをリダイレクトするルールを構成できます。たとえば、ロードバランサーを構成する場合、その IP を使用してアップストリーム IP を構成できます。この方法で、必要なすべてのノードを追加または削除できます。

rabbitMQ フェデレーションを使用して、双方向にすることはできますか?

はい。ただし、ここで読むことができるように:

ループメッセージが表示される可能性があります

を使用してループ メッセージを回避できます。詳細については、こちらmax_hops=1をお読みください。

ブローカー間でメッセージをコピーするだけの場合は、スキーマをシャベルでも実装できます。

シャベル プラグインは、次のようにマルチ ブローカー接続をサポートします。

[ "amqp://fred:secret@host1.domain/my_vhost"
  , "amqp://john:secret@host2.domain/my_vhost"
]

で、ここを読めば

ホストが省略された場合 (一般的な AMQP URI では無効)、ショベルはそれが実行されているブローカーへの直接接続を使用します。これにより、ネットワーク スタックの使用が回避されます。

お役に立てば幸いです。

于 2014-05-09T17:47:32.250 に答える