私は、redisセンチネルが複数のredisインスタンス間でHA(高可用性)を構成する方法であることを理解しています。私が見るように、1つのredisインスタンスが常にクライアントのリクエストにアクティブに対応しています。さらに2つのサーバーがスタンバイ状態になっています(障害が発生するのを待っているため、そのうちの1つが再び動作可能になります)。
- 資源の無駄ですか?
- 利用可能なリソースを最大限に活用するより良い方法はありますか?
- RedisのクラスタリングはRedisの歩哨の代替手段ですか?
センチネルとクラスタリングの redisドキュメントをすでに調べましたが、誰か経験のある人が説明してもらえますか?
更新
OK。私の実際の展開シナリオでは、redis専用の2台のサーバーがあります。Jbossサーバーが実行している別のサーバーがあります。Jbossで実行されているアプリケーションは、redisマスターサーバー(M)に接続するように構成されています。
フェイルオーバーのシナリオ
理想的には、マスターキャッシュサーバーに障害が発生した場合(Redisプロセスがダウンするかマシン障害が発生した場合)、Jbossのアプリケーションはスレーブキャッシュサーバーに接続する必要があります。これを実現するためにredisサーバーをどのように構成しますか?
+--------+ +--------+
| Master |---------| Slave |
| | | |
+--------+ +--------+
Configuration: quorum = 1