1 つのスレーブ ノードを別のスレーブ ノードよりもマスターにすることはできますか? 次のマスターノードを選択して、現在のマスターノードに障害が発生した場合に利用可能な最小のマスターまたは最大のリソースを持つノードを選択すると仮定します。整理は可能ですか?
1 に答える
x-queue-master-locator
ポリシーを見ることができます。ここを読む:
https://www.rabbitmq.com/ha.html
キュー マスターの場所 RabbitMQ のすべてのキューにはホーム ノードがあります。そのノードは、キュー マスターと呼ばれます。すべてのキュー操作は、最初にマスターを通過し、次にミラーに複製されます。これは、メッセージの FIFO 順序を保証するために必要です。
キュー マスターは、いくつかの方法を使用してノード間で分散できます。使用される戦略は、3 つの方法で制御されます。つまり、x-queue-master-locator キュー宣言引数を使用するか、queue-master-locator ポリシー キーを設定するか、構成ファイルで queue_master_locator キーを定義します。考えられる戦略とその設定方法は次のとおりです。
最小数のマスターをホストするノードを選択します: min-masters キューが接続されていることを宣言するクライアントのノードを選択します: client-local ランダムなノードを選択します: random
この投稿を読むこともお勧めします: https://www.erlang-solutions.com/blog/take-control-of-your-rabbitmq-queues.html
これはあなたを助けるはずです