この記事では、Redis のセンチネル モードについて紹介します。お役に立てば幸いです。
#Redis マスター/スレーブ モード。マスター ノードに障害が発生すると、スレーブ ノードをマスター ノードに昇格できます。同時に、クライアントに次のように通知する必要があります。マスター ノード アドレスを更新します。これは通常は不可能です。OK。したがって、Redis は、この問題を解決するために Redis Sentinel
Sentinel メカニズムを提供します。 [関連する推奨事項: Redis ビデオ チュートリアル ]
psync
を開始します。この時点で同期が失敗した場合は、完全同期が実行されます。メイン データベースが完全バックアップを実行している間、ミリ秒または秒レベルのラグが発生する可能性があります。
ノードは他の Sentinel を継続的に監視します。
ノードと Redis
ノードは PING
を送信し、返信することでオンラインかどうかを確認します。
down-after-milliseconds
ミリ秒以内に有効な応答を受信しない場合、ノードは主観的に判断されます。オフライン。
sentinel is-master-down-by を渡します- addr
コマンドは、他の Sentinel
ノードにこのノードのステータスを確認するよう要求します。 <quorum></quorum>
を超えるノードがプライマリ ノードに到達できないと判断した場合、Sentinel
ノードはプライマリ ノードが客観的にオフラインであると判断します。
Sentinel
は、1 回/秒## の頻度で他の
Sentinel ノードおよび
Redis マスター/スレーブ ノードに送信します。
#PING コマンド。
コマンドに対する最後の有効な応答から
ダウンアフターミリ秒 を超えている場合、そのインスタンスは
Sentinel としてマークされます
主観的なオフライン として。
1 回/秒## で監視されています。このマスター サーバーは主観的オフライン状態に入りました。
ノードは、マスター ノードは
客観的にはオフラインです 。
メイン サーバーが客観的にオフラインとしてマークされると、Sentinel コマンドをオフライン サーバーのすべてのサーバー (
10 から開始) に送信します。回/秒 は
1 回/秒 に変更されます。
Sentinel 状態にある場合、投票により新しい
マスター ノード##が自動的に選択されます#。残りの スレーブ ノード
が データ レプリケーション の 新しいプライマリ ノード を指すようにします。 メイン サーバー がオフラインであることに同意する十分な Sentinel の
客観的なオフライン ステータスは削除されます。 プライマリ サーバーが Sentinel の PING コマンドに対して 有効な応答を返すと、
プライマリ サーバーの
主観的なオフライン ステータス は削除されます。 3. メッセージ損失
min-slaves-max-lag
) が用意されています。min-slaves-to-write: この構成項目は、メイン ライブラリがデータ同期を実行できるスレーブ ライブラリの最小数を設定します;
min-slaves-max-lag:この設定 この項目は、マスター ライブラリとスレーブ ライブラリの間でデータがコピーされるときに、スレーブ ライブラリがマスター ライブラリに ACK メッセージを送信するための最大遅延 (秒単位) を設定します。
概要
Sentinel
は高可用性の問題を解決しますが、マスター ノードの単一ノード拡張の問題は解決しません。 プログラミング関連の知識について詳しくは、プログラミング入門をご覧ください。 !
以上がRedis のセントリー モードについては 1 つの記事で説明していますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。