この記事では、Redis に関する関連知識を提供します。主にセンチネルの概念、センチネルの役割、センチネルの有効化、センチネルの原理など、センチネル モードに関連する問題を紹介します。皆さんのお役に立てれば幸いです。
推奨学習: Redis チュートリアル
マスター マルチ スレーブ構成では、マスターがダウンした場合、複数のスレーブの中から 1 つを新しいマスターとして選択する必要があります。 Redis のセンチネル メカニズム
Sentinel (センチネル) は、障害発生時に マスター/スレーブ構造内の各サーバーを監視するために使用される分散システムです次の図に示すように、 投票 メカニズム が 新しいマスターを選択し、すべてのスレーブを新しいマスターに接続します。
2. センチネル機能フェイルオーバー : ダウンしたマスターとスレーブを切断し、[1 つのスレーブがマスターとして機能する] を選択し、接続します他のスレーブを新しいマスターに接続し、クライアントに新しいサーバー アドレスを通知します。
注: Sentinel は Redis サーバーでもあり、監視サービスのみを提供します。データ管理サービスを提供します。通常、センチネルの数は奇数に設定されます (投票を容易にするため)
変更以下の図に示すように、構成ファイル
一部の構成の意味以下の図に示すとおりです。 表示:
redis-sentinel filename #filename指的是配置文件名 #每个哨兵都要配置自己的配置文件
4. センチネルの原則
センチネルは、マスター/スレーブ切り替えプロセスの段階で 3 つのプロセスを経ます。1. master属性 runid role:master 2. 各个slave在master中保存的基本信息
すべてのスレーブのステータスを取得します (マスター内のスレーブ情報に基づいてすべてのスレーブに情報指示を送信します)
slave属性 runid role:slave master_host、master_port offset
具体的なプロセスは次のとおりです。
センチネルは、確立された cmd 接続を通じてマスターとスレーブに hello
コマンドを送信し、マスターとスレーブの##4.3 フェイルオーバー
# Sentinel 1 はマスターから応答を得ることができず、マスターがマスターであると主観的に判断されます。
sdownセンチネル 1 はリレーションシップ ネットワークにメッセージを配信し、そのメッセージをリレーションシップ ネットワークの左上隅に送信します。他のセンチネルへの写真
他のセンチネルがメッセージを受信した後、マスターにメッセージを送信して、マスターがダウンしているかどうかを判断します。また、その結果を、マスターがダウンしていることを確認した後、マークが
odownが到着した順序に従って投票します。
により、票を獲得した政党がもう 1 つの選挙人票を獲得します。このフォームでは、最終的に選挙結果が得られ、最も多くの票を獲得した監視員が選出されます。最初に除外し、次に選択します
slaveof no one
コマンドを送信#Send slaveof new masterIP port
コマンド他のスレーブへ
他のセンチネルにも新しいマスターが誰なのかを伝えます
#キャンペーン担当センチネル
新しいマスターを優先する
以上がRedis セントリー モードを一緒に分析しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。