Redis Centinelクラスタ構築

1189 ワード

Redis sentinelプライマリ・サービスとメンテナンス・プライマリ・セカンダリ・レプリケーション関係、例えばmasterダウンタイム後にslaveを管理してmatserにアップグレード
主なブログは
Redisにおけるsentinelクラスタの構築とJedisテストグラフィックチュートリアル[一]
Redisにおけるsentinelクラスタの構築とJedisテストグラフィックチュートリアル[2]
Redis Centinelクラスタスキーム--スタンドアロンテスト
Jedisスライス接続プール(分散型)
ここではmaster-sentinelとslave-sentinelの関係について説明します
master:   127.0.0.1 6379
slave1:    127.0.0.1 6479
slave2:    127.0.0.1 6579
master-sentinel: 127.0.0.1 26379
slave1-sentinel: 127.0.0.1 26479
slave2-sentinel: 127.0.0.1 26579

master-sentinelはクラスタマスターノードmasterの管理を担当する
1.masterがダウンタイムした場合、master-sentinelはslavesからmasterとして1つ選択します.
2.以前のマスターが復元されると、再びマスターになるのではなく、slaveになります.このslaveとmaster以前のモニタslave-sentinelは、新しいslave情報を新しいマスターに逆方向に監視します.
3.master-sentinelはmaster 1のリーダーとして、master 1のslaveを新しいmasterとして選択します.slaveの選択はDNSの状況を判断する優先度に基づいて得られ、優先度は同じrunidのソートで得られるが、現在は優先度設定が実現していないため、runidソートを直接取得してslave 1を得る.
次に、slaveeof no oneコマンドを送信してslave 1のslave状態をキャンセルしてmasterに変換します.他のsentinelがslaveがmasterになることを観察すると、エラー処理ルーチンが起動したことがわかる.sentinel Aは、その後、他のslave slaveeof new-slave-ip-portコマンドに送信され、すべてのslaveが構成された後、sentinel Aは監視されているmastersリストから障害masterを削除し、他のsentinelsに通知します.