我了解redis sentinel是一种在多个redis实例之间配置高可用性(HA)的方法。我认为,在任何给定时间,有一个redis实例正在积极地为客户端请求提供服务。还有两个额外的服务器处于待机状态(等待发生故障,以便其中之一可以再次运行)。
- 这是资源的浪费吗?
- 是否有更好的方法充分利用可用资源?
- Redis集群是Redis Sentinel的替代方案吗?
我已经查看了redis文档sentinel和clustering,请有经验的人解释一下。
更新
好的。在我的实际部署场景中,我有两台服务器专门用于redis。我有另一台服务器运行我的Jboss服务器。在Jboss中运行的应用程序被配置为连接到Redis主服务器(M)。
故障转移场景
理想情况下,我认为当主缓存服务器失败(无论是Redis进程崩溃还是机器故障)时,Jboss中的应用程序需要连接到从缓存服务器。我如何配置redis服务器才能实现这一点?
+--------+ +--------+
| Master |---------| Slave |
| | | |
+--------+ +--------+
Configuration: quorum = 1