版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liuzhixiong_521/article/details/84797609
概述
哨兵模式是Redis官方推荐的集群部署方式,与主从复制方式不同,哨兵模式可以在Master宕机时,自动实现主备切换。哨兵本身也是一个独立运行的进程,它用来监控多个主从复制集群。下图为哨兵模式简易调用图:
优势
- 不定时监控Redis集群是否运行良好。
- 若Redis节点出现故障,可以及时同事其他进程,如客户端。
- 能够自动进程主备切换。
哨兵集群
很显然,哨兵进程也存在单点部署的问题,即哨兵进程挂掉后,导致整个集群不可用,故哨兵进程也应该支持集群部署。部署哨兵集群的优势有以下几点:
- 即便某些哨兵进程挂掉,依然可以进行主备切换。
- 客户端可以连接任意一个哨兵进程服务,以获取集群信息。
启动方式
- 第一种
redis-sentinel sentinel.conf - 第二种
redis-server sentinel.conf --sentinel
两种启动方式均需要指定哨兵配置文件,哨兵进程默认监听端口为26379。
哨兵配置解析
sentinel monitor mymaster 127.0.0.1 6379 2
表示监控的master节点名称为mymaster,ip为127.0.0.1,端口为6379,2的含义为大于等于2个哨兵进程认为master不可用时,才会真正认为master不可用,这个我们后续会详细叙述。
sentinel down-after-milliseconds mymaster 3000
哨兵通过PING来确认master是否存活,上述配置表示单个哨兵在3000毫秒内未收到PING的有效回复,则认为master已经不可用。
sentinel parallel-syncs mymaster 2
上述配置表示为,主备切换时可以最多有2个slave与master进行同步,这个数字越小,完成同步时间越长,数字越大,完成同步时间短,但是意味着更多slave处于不可用状态,所以应合理配置这个数值。
主备切换策略
明天再写吧,先发出来。
文章来源: Redis集群-哨兵模式