Redisのセンチネルは、クラスタを展開することで、高可用性ソリューション、状態指定されたセンチネルを達成するために使用され、クラスタはセンチネルのRedisを監視する責任があり、マスタとスレーブとマスターがマスターからぶら下げたときに自動的に切り替える、従って高い可用性キャッシュサービスを保証します。
だから、センチネルはそれを達成する方法ですか?
1は、ここで注意することは、Redisのマスターを監視する必要があります。指定された開始時間をセンチネル、あなたはセンチネルは、すべてのスレーブマスタによってそれを確認することができますので、Redisのスレーブを指定する必要はありません。
図2に示すように、タイミングが、スレーブはRedisのマスターに応じて決定されるセンチネルに、ピンポン応答コマンドを受信し、すべてのセンチネルRedisのマスタは、スレーブがpingコマンド、Redisのマスターを送信したくなる、スレーブは、正常な状態です。
3(構成されていてもよい、典型的には30秒)の期間は、Redisのマスターは全く応答を受信しない場合には、それを考慮するRedisのは、(また、目的後続のオフライン対応)のSentinelがぶら下がっとRedisのマスター主観オフラインフラグマスター。
4は、それが指定されたしきい値を超えた場合にセンチネルはRedisのマスター、リーダーセンチネルは、スイッチングマスターからのRedisを処理するために選択されますハングと考えられています。
5、新しいデータ保持Redisのスレーブを選択母校にそれを設定し、他のRedisのは、新しいマスターにマスタースレーブ。
可能性のある問題をセンチネル:
1、Redisのマスター・スレーブ同期が非同期な方法であるため、これメインスイッチが発生してからの時間や、データの損失を引き起こすことがあります。