哨兵模式(Sentinel)
主从同步模式,虽然配置简单,但是缺点也十分突出:Master内存受限,Master宕机之后不能自动切换,不能水平扩展
哨兵模式(Redis Sentinel)
哨兵(Sentinel)模式会启动多个哨兵进程,哨兵进程的作用:
-
监控:能持续监控Redis集群中主从节点的工作状态
-
通知:当监控的节点出现问题后,能通过API来通知系统管理员或者其它程序
-
自动故障处理:如果发现主节点无法正常工作,哨兵进程将启动故障恢复机制把一个从节点提升为主节点,其它从节点会重新配置到新的主节点,并且应用程序会得到一个更换新地址的通知
哨兵模式应用场景
当采用Master-slave高可用方案时,如果Master宕机之后,像自动切换,可以考虑使用哨兵模式。哨兵模式是在主从模式的基础上工作的
哨兵模式的工作方式
- 每个哨兵进程会以每秒钟一次的频率向整个集群中的 Master节点、Slave节点、Sentinel进程 发送一个 ping命令
- 如果一个实例距离最后一次有效回复PING命令的时间超过 down-after-milliseconds 所指定的值,则这个实例就会被哨兵进程标记为 主观下线
- 如果一个 Master 节点被标记为主观下线, 则所有监视这个 Master 节点的哨兵进程都需要以每秒一次的频率确认 Master 主服务器的确进入了主观下线状态
- 当有足够数量的哨兵进程在指定时间范围内确认了 Master主节点进入了 主观下线 , 则Master节点就会被标记为 客观下线
- 每个哨兵进程会以 每 10秒一次的频率向集群中所有的 Master/Slave机器发送 INFO 命令,并从回复信息中提取从节点ID、从节点角色、从节点所属的主节点的ip及端口、主从节点的连接状态、从节点的优先级、从节点复制偏移量等信息
- 若没有足够数量的哨兵进程同意 Master 主节点下线,Master主节点的客观下线状态就会被移除。若Master主节点重新向哨兵发送 ping返回有效的回复,Master 主节点的主观下线状态就会被移除
哨兵模式优缺点
优点
- 哨兵模式基于主从复制,所以具有主从复制模式的优点
- 主从可以切换、故障转移、提高系统的可用性
- 系统更加健壮稳定
缺点
当Redis集群容量达到一定程度时,不能很好的支持在线扩容,所以使用前必须保证有足够的空间
本文介绍了Redis哨兵模式的工作原理及其应用场景。哨兵模式通过多个哨兵进程监控集群中的主从节点状态,实现自动故障检测与恢复。适用于需要高可用性的Redis部署。
906

被折叠的 条评论
为什么被折叠?



