A、B、C の 3 つの異なるマシンで実行されている 3 つのレプリケートされた Redis インスタンスがあります。最初に A をマスターとして選択します。また、A を監視する 3 つのセンチネル (各マシンに 1 つ) があります。
A がダウンした場合、センチネルにフェールオーバー先の特定のマスター (B など) を選択してもらいます。センチネルの選出メカニズムに任せるのではなく、特定のマスターを選択する方法はありますか?
この質問はどこにも見つからなかったので、標準的な手順ではないと思うので、その理由を説明します。私のアプリケーションは、ロード バランサーの背後にある A、B、および C で実行されています。マスターは、他の 2 つのスレーブにレプリケートされたローカルのRedis データベースを使用します。
A に障害が発生すると、ロード バランサーは B をマスターとして選択し、Redis センチネルは C を Redis マスターとして選択できます。先ほど言ったように、インスタンスをローカルにする必要があるため、B を Redis マスターとして指定する必要があります。