#1. マスター/スレーブ レプリケーション
マスター/スレーブ レプリケーションの原則:
スレーブサーバーの初期化が完了しました)
スレーブ サーバーの初期化後の操作)
マスター/スレーブ レプリケーションの長所と短所:
#利点:
# # Redis には自動フォールト トレランスと回復機能がありません。ホスト マシンとスレーブ マシンのダウンタイムにより、一部のフロントエンドの読み取りおよび書き込みリクエストが失敗します。マシンが再起動するまで待つか、フロントエンド IP を手動で切り替える必要があります。回復する。
ホスト マシンがダウンしました。マシンがダウンする前に、一部のデータをスレーブ マシンに同期できませんでした。IP を切り替えた後、データの不整合が発生し、システムの可用性。
Redis はオンライン拡張に対応しにくく、クラスタ容量が上限に達するとオンライン拡張が非常に複雑になります。
マスター サーバーがサービスを中断した場合、スレーブ サーバーをマスター サーバーにアップグレードしてサービスを提供し続けることができますが、このプロセスには手動操作が必要です。この目的を達成するために、Redis 2.8 は、自動化されたシステム監視および障害回復機能を実装するためのセンチネル ツールを提供します。 センチネルの役割は、Redis システムの実行ステータスを監視することです。その機能としては以下の2つが挙げられます。 (1) マスタサーバおよびスレーブサーバが正常に稼働しているか監視します。 センチネルの仕組み: 各センチネル プロセスは、クラスター全体のマスターに 1 秒に 1 回メッセージを送信します。サーバーおよび他の Sentinel プロセスからの PING コマンド。 PING コマンドに対する最後の有効な応答からの時間が、down-after-milliseconds オプションで指定された値を超えた場合、インスタンスは Sentinel プロセスによってマークされます。主観的にオフライン ( SDOWN) マスター サーバーが主観的にオフライン (SDOWN) としてマークされている場合、マスター サーバーを監視しているすべての Sentinel プロセスは、マスター サーバーが実際にオフライン状態に入ったことを 1 秒に 1 回確認する必要があります。主観的なオフライン状態 指定された環境に十分な数の Sentinel プロセス (設定ファイルで指定された値以上) が存在する場合、マスター サーバーが時間範囲内に主観的オフライン状態 (SDOWN) に入った場合、マスター サーバーは客観的にオフライン (ODOWN) としてマークされます 通常の状況では、各 Sentinel プロセスは INFO コマンドを送信します。クラスタ内のすべてのマスター サーバーとスレーブ サーバーを 10 秒ごとに実行します。 マスター サーバーが Sentinel プロセスによって客観的にオフライン (ODOWN) としてマークされると、Sentinel プロセスはオフラインのマスター サーバーのすべてのスレーブ スレーブ サーバーにメッセージを送信します。 INFO コマンドは 10 秒に 1 回から 1 秒に 1 回に変更されます。 マスター サーバーのオフラインに同意するのに十分な数の Sentinel プロセスがない場合、マスター サーバーの目的のオフライン ステータスは削除されます。マスター サーバーが Sentinel プロセスに PING コマンドを再度送信し、有効な応答を返すと、マスター サーバーの主観的なオフライン ステータスは削除されます。 Sentinel モードの長所と短所 利点: 欠点: 3.Redis-ClusterCluster Redis のセンチネル モードは基本的に高可用性と読み取り/書き込み分離を実現できますが、このモードでは、各 Redis サーバーが同じデータを保存するため、メモリが無駄になるため、Redis 3.0 にクラスター モードが追加され、Redis の分散ストレージが実装されます。これは、各 Redis ノードが異なるコンテンツを保存することを意味します。 作業方法: Redis 関連の技術記事の詳細については、Redis チュートリアル 列にアクセスして学習してください。
(2) メインサーバーに障害が発生した場合、スレーブサーバーからメインサーバーに自動的に切り替えられます。
以上がRedis でクラスタリングを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。