#redis の高可用性: マスター/スレーブ アーキテクチャをデプロイする場合は、センチネルを追加するだけで、インスタンスがあればそれを実現できます。がダウンすると、アクティブとスタンバイの切り替えが自動的に行われます。
Qian Machine (推奨学習: Redis ビデオ チュートリアル )
## マスターとスラムの実装後、サーバーが監視され、 「センチネル」メカニズムは redis2.6 以降に提供されます。名前が示すように、センチネルの意味は、redis システムの実行状態を監視することです。複数のセンチネルを起動して、redis データベースの実行ステータスを監視できます。その主な機能は次の 2 点です:Redis の Sentinel システムは、複数の Redis サーバーの管理に使用され、次の 3 つのタスクを実行します:
監視: Sentinel はマスターとスレーブが正常に動作しているかどうかを常にチェックします。
通知:監視対象の Redis に問題がある場合、センチネルは API を通じて管理者または他のアプリケーションに通知を送信できます。
自動フェイルオーバー:マスターが正常に動作しない場合、Sentinel は自動フェイルオーバー操作を開始し、障害が発生したマスターのスレーブの 1 つを新しいマスターとしてアップグレードします。障害が発生したマスターの他のスレーブが新しいマスターをコピーするように変更します。クライアントが障害が発生したマスターに接続しようとすると、クラスターは新しいマスターのアドレスもクライアントに返すため、クラスターはマスターを使用して置き換えることができます。失敗したマスター。
Sentinel は分散システム です。アーキテクチャ内で複数の Sentinel プロセスを実行できます。これらのプロセスは、ゴシップ プロトコルを使用して、マスターがオフラインであるかどうかに関する情報を受信し、投票プロトコル (合意) を使用します。
各センチネルは他のセンチネルに報告します。マスターとスレーブは定期的にメッセージを送信して、相手が「生きている」かどうかを確認します。指定された時間 (構成可能) 内に相手方が応答しない場合、相手方は一時的にダウンしていると見なされます (いわゆる「主観的ダウンタイム」)。主観的ダウン、 sdown と呼ばれます)。「センチネル グループ」のほとんどのセンチネルが、特定のマスターが応答していないことを報告すると、システムはマスターが「完全に死んだ」(つまり、客観的にダウン、目標がダウン、odown と呼ばれる) とみなします)。投票アルゴリズムを使用して、マスターに昇格する残りのスレーブ ノードの 1 つを選択し、関連する構成を自動的に変更します。 Sentinel は別の実行可能ファイル redis -sentinel としてリリースされますが、実際には単なる特別なモードで実行されている Redis サーバー 通常の Redis サーバーを起動するときに --sentinel オプションを指定すると、sentinel を起動できます。以上がRedis の高可用性を確保する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。