センチナル:ドキュメントによると
Redis Sentinel は、Redis の高可用性を提供します。実際には、これは、Sentinel を使用して、人間の介入なしで特定の種類の障害に耐える Redis 展開を作成できることを意味します。
Sentinal
デプロイせずに(K8sで)redisクラスターの機能を達成できると思いますSentinal
か? 私はドキュメントからセンチメンタルな機能を取り入れ、K8s からいくつかのカウンター ポイントを投げています。
Monitoring
- Sentinel は、マスター インスタンスとスレーブ インスタンスが期待どおりに動作しているかどうかを常にチェックします。working as expected
ポッドの上下を意味することを検討しています。これは、Deployment
(レプリカセット) またはさらにはStatefulSets
Notification
- Sentinel は、監視対象の Redis インスタンスの 1 つに問題があることを、システム管理者や別のコンピューター プログラムに API 経由で通知できます。- できません
Operators
か? (redis クラスタの状態などの観点から)
- できません
Automatic failover
- マスターが期待どおりに動作しない場合、Sentinel はフェイルオーバー プロセスを開始できます。このプロセスでは、スレーブがマスターに昇格し、他の追加のスレーブが新しいマスターを使用するように再構成され、Redis サーバーを使用するアプリケーションが使用する新しいアドレスについて通知されます。接続時。not working as expected
redisポッドがダウンしていることを意味すると考えています。Operators
この場合、 /StatefulSet
+を使用して redis をデプロイすると、Headless Service
. ポッドが再起動しても、マスター/スレーブの安定したネットワーク ID があります。
Configuration provider
- Sentinel は、クライアント サービス検出の権限のソースとして機能します。クライアントは、特定のサービスを担当する現在の Redis マスターのアドレスを要求するために、Sentinel に接続します。フェイルオーバーが発生すると、Sentinels は新しいアドレスを報告します。- 上記のポイントで述べたように、安定したネットワーク ID/名前/IP があります。クライアントは常にマスターを指すことができます。
私はredisが初めてです。何か間違っている場合は、私を導いてください。ありがとう。
アップデート1
私の目的は、センチメンタルを回避し、HA を持つことです。(主にmaster
フェイルオーバー)