Redis クラスターのフェイルオーバーを実装する方法

coldplay.xixi
リリース: 2020-06-30 13:09:46
オリジナル
2046 人が閲覧しました

Redis クラスターのフェイルオーバー方法: 1. すべてのスレーブ ノードから新しいマスターを選択します; 2. 選択された新しいマスターは、slaveof no one を実行してステータスをスレーブからマスターに変更します; 3. のスロット割り当てをキャンセルします。マスターノードをオフラインにして、これらのスロットを自分に再割り当てします。

Redis クラスターのフェイルオーバーを実装する方法

#Redis クラスターのフェイルオーバー方法:

1. 障害検出 - 1クラスタ内のすべてのノードは、他のノードに PING メッセージを送信します。指定された時間内に対応する PONG メッセージが受信されない場合、ノードはオフラインの疑いがあるとしてマークされます。

- 2. PING メッセージで送信されるメッセージには現在のクラスターとノードの情報が含まれます。このようにして、ノードの生存を検出し、クラスター情報の統一性を維持できますが、一定の

遅延が発生します。

- 3. オフラインの疑いは、実際にはオフラインではありません。次の条件が満たされる場合にのみ、真にオフラインになることができます。

##- マスター ノードは、スロットが割り当てられたマスター ノードです。スロットの半分以上が割り当てられた場合にのみ、ノードは、そのノードがオフラインであると疑われると考えていますが、本当にオフラインにできるのでしょうか;

- 4. ノードが、オフラインの疑いのあるノードの投票がクラスターの投票の半分を超えたことをメッセージを通じて知ると、ブロードキャストを送信します。このノードがオフラインであることを示すメッセージ;

#- 5. 他のノードは、ノードがオフラインであることを示すブロードキャストを受信した後、自身の内部クラスター メンテナンス情報もノード オフライン ステータスに変更します。

2. フェイルオーバー

- 1. すべてのスレーブ ノードから新しいマスターを選択します; - 2. 選択された新しいマスターは、変更する人がいないスレーブを実行しますスレーブからマスターへのステータス;

- 3. オフライン マスター ノードのスロット割り当てを取り消し、これらのスロットを自分自身に再割り当てします;

- 4. 新しいマスター ノードは PONG メッセージをブロードキャストします。クラスタは、このメッセージを通じてすべてのクラスタ ノードに、自分がマスター ノードになり、元のマスター ノードを引き継いだことを伝えます;

- 5. 新しいマスター ノード 自身のスロットに関連するコマンド要求の受信と処理を開始します。

関連する学習に関する推奨事項:

redis ビデオ チュートリアル

以上がRedis クラスターのフェイルオーバーを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート