Redis哨兵模式

本文介绍了Redis哨兵模式的工作原理及其应用场景。哨兵模式通过多个哨兵进程监控集群中的主从节点状态,实现自动故障检测与恢复。适用于需要高可用性的Redis部署。

哨兵模式(Sentinel)

主从同步模式,虽然配置简单,但是缺点也十分突出:Master内存受限,Master宕机之后不能自动切换,不能水平扩展

哨兵模式(Redis Sentinel)

哨兵(Sentinel)模式会启动多个哨兵进程,哨兵进程的作用:

  • 监控:能持续监控Redis集群中主从节点的工作状态

  • 通知:当监控的节点出现问题后,能通过API来通知系统管理员或者其它程序

  • 自动故障处理:如果发现主节点无法正常工作,哨兵进程将启动故障恢复机制把一个从节点提升为主节点,其它从节点会重新配置到新的主节点,并且应用程序会得到一个更换新地址的通知

哨兵模式应用场景

当采用Master-slave高可用方案时,如果Master宕机之后,像自动切换,可以考虑使用哨兵模式。哨兵模式是在主从模式的基础上工作的

哨兵模式的工作方式

  1. 每个哨兵进程会以每秒钟一次的频率向整个集群中的 Master节点、Slave节点、Sentinel进程 发送一个 ping命令
  2. 如果一个实例距离最后一次有效回复PING命令的时间超过 down-after-milliseconds 所指定的值,则这个实例就会被哨兵进程标记为 主观下线
  3. 如果一个 Master 节点被标记为主观下线, 则所有监视这个 Master 节点的哨兵进程都需要以每秒一次的频率确认 Master 主服务器的确进入了主观下线状态
  4. 当有足够数量的哨兵进程在指定时间范围内确认了 Master主节点进入了 主观下线 , 则Master节点就会被标记为 客观下线
  5. 每个哨兵进程会以 每 10秒一次的频率向集群中所有的 Master/Slave机器发送 INFO 命令,并从回复信息中提取从节点ID、从节点角色、从节点所属的主节点的ip及端口、主从节点的连接状态、从节点的优先级、从节点复制偏移量等信息
  6. 若没有足够数量的哨兵进程同意 Master 主节点下线,Master主节点的客观下线状态就会被移除。若Master主节点重新向哨兵发送 ping返回有效的回复,Master 主节点的主观下线状态就会被移除

哨兵模式优缺点

优点

  1. 哨兵模式基于主从复制,所以具有主从复制模式的优点
  2. 主从可以切换、故障转移、提高系统的可用性
  3. 系统更加健壮稳定

缺点

当Redis集群容量达到一定程度时,不能很好的支持在线扩容,所以使用前必须保证有足够的空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值