Sentinel モード
これは高可用性のソリューションです。Sentinel 自体は独立して実行されるプロセスであり、デプロイ可能です。Redis を監視します。 Redis クラスターと通信できる他のマシン上のクラスター。
監視: Sentinel は、redis が適切に実行されているかどうかを定期的に監視します。 (推奨される学習: Redis ビデオ チュートリアル )
リマインダー: センチネルは、Redis ノードに問題があることを発見した場合、別のプロセス (クライアントなど) に通知できます。 )
自動フェイルオーバー: マスターがダウンした後、マスター/スレーブの切り替えが実行されます。クライアントが障害が発生したマスターサーバーに接続しようとすると、クラスターは新しいマスターサーバーのアドレスもクライアントに返します。これにより、クラスターは新しいマスターサーバーを使用して障害が発生したサーバーを置き換えることができます。マスターが回復するとスレーブになります。
Redis Sentinel は、ゴシップ プロトコルを使用してマスターがオフラインかどうかを受信し、投票プロトコルを使用して障害移行を実行するかどうかを決定する分散システムです (投票数が制限を超えると実行されます)。設定値を設定し、投票数が設定値を超えたときに実行されます。実行するにはセンチネルの半数以上の承認が必要です)、およびどのスレーブがマスターとして選択されるか。
主観的オフライン: センチネル プロセスは、マスターが接続できないことを監視すると、マスターがオフラインであると判断します。
目標オフライン: 他の監視プロセスからマスター情報を受信するときに、それが本当にオフラインであるかどうかを判断します。
各センチネルは、マスター、スレーブ、および他のセンチネルに ping リクエストを毎秒送信します。
クラスター モード
Sentinel はスムーズな拡張とノードの追加をサポートしていないため、データを手動で移行する必要があります。この目的を達成するために、Reids は分散ソリューションを実装するための Redis Cluster を正式に提供しています。分散クラスターは、まず、パーティショニング ルールに従ってデータ セット全体を複数のノードにマッピングする、つまりデータ セットを複数のノードに分割するという問題を解決します。各ノードはデータ全体のサブセットを担当します。
一貫性のあるハッシュと同じだと思います。キーのハッシュが計算され、シャードが取得されるようになりましたが、クラスター モードの欠点は、キーのバッチ操作を実行できないことです。このキーは別の Redis インスタンスに存在する可能性があるためです。
クラスターの障害発見は、Gossip を通じて各 Redis ノードにも通知され、2 つのノードが相互に ping と pong を行います。
ノードの削除と追加にはデータの移行が必要です。
Redis 関連の技術記事の詳細については、「Redis データベース チュートリアルの使用方法の概要」 列にアクセスして学習してください。
以上がRedis Sentinel モードはクラスターですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。