4

テスト環境で、RabbitMQ のアクティブ/アクティブ クラスターを構成しました。

ReceiveFrom("rabbitmq://cluster_machine_a/some_queue?ha=true") を指定して MassTransit を使用して接続します。

明らかに、これは特定のクラスタ ノードを利用しているため、フェイルオーバーは提供されません。

フェールオーバーが発生するように MassTransit にクラスタ ノードを通知する正しい方法はどれですか?

RabbitMQ のドキュメントでは、クライアントは従来のロード バランサーを使用してトラフィックを処理する必要があると示されていますが、これは RabbitMQ で機能しますか? (最後のセクション - http://www.rabbitmq.com/clustering.html )

4

1 に答える 1

2

私自身の質問に答えるために、MassTransit の Failover Partner を使用した SQL サーバー接続文字列のようなフェールオーバーの概念はありません。

代わりに、RMQ の前にロード バランサーを導入し、復旧をコーディングするノードがダウンしたときにエラーが発生することを受け入れるだけです。もちろん、組み込みのクラスタリングで実現できる RMQ ノードを一緒に接続する必要があります。

最後に、ロード バランサーによって導入された仮想 IP から受信し、失敗した RMQ ノードの検出を処理します。

于 2012-07-24T01:07:20.670 に答える