在主从模型中讲到html
一旦Master宕机失效,须要手动将Slave角色提高为Master,不然这个子集群将不可用。redis
这个缺陷使得系统可用性大大下降。所以Redis专门提供了一个哨兵机制来实现自动故障检测和转移。网络
哨兵(Sentinel)是一种特殊的Redis实例,与Redis存储实例同样,哨兵一样是基于配置的。
你能够经过如下两种方式启动哨兵:code
redis-sentinel /path/to/sentinel.conf redis-server /path/to/sentinel.conf --sentinel
节点监控
如图(图中S为Sentinel,M为Master,R为Replication即Slave),Sentinel模型集群中的每一个Sentinel都在监控着每一个节点,每隔一段时间会向每一个节点发送PING,经过返回的PONG信息确认节点正常。
server
[1]redisLab.[EB/OL]. https://redis.io/topics/sentinel. 2019.01-2019.03.htm