Redis数据库的哨兵模式有哪些特点?

2024年6月5日19:30:29Redis数据库的哨兵模式有哪些特点?已关闭评论

在主从复制的基础上,哨兵模式实现了自动化故障恢复。哨兵模式由哨兵节点和数据节点两部分组成:哨兵节点是特殊的Redis节点,不存储数据;主节点和从节点都是数据节点。Redis Sentinel是分布式系统中监控Redis主从服务器,并提供主服务器下线时自动故障转移功能的组件。其3个特性为:监控(Monitoring),哨兵会不断地检查主服务器和从服务器是否运作正常;提醒(Notification),当被监控的某个Redis服务器出现问题时,哨兵通过API向管理员或者其他应用程序发送通知;自动故障迁移(Automatic Failover),当一个主服务器不能正常工作时,哨兵会开始一次自动故障迁移操作。

哨兵模式工作原理:

1)每个哨兵以每秒一次的频率向它所知的主从节点以及其他哨兵节点发送一个PING命令。

2)如果一个实例(Instance)距离最后一次有效回复PING命令的时间超过配置文件own-after-milliseconds选项所指定的值,则这个实例会被哨兵标记为“主观下线”。

3)如果一个主节点被标记为“主观下线”,那么正在监视这个主节点的所有哨兵要以每秒一次的频率确认主节点是否真得进入“主观下线”状态。

4)当有足够数量的哨兵(大于等于配置文件指定的值)在指定的时间范围内确认主节点的确进入了“主观下线”状态,则主节点会被标记为“客观下线”。

5)如果主节点处于“客观下线”状态,则投票自动选出新的主节点,将剩余的从节点指向新的主节点继续进行数据复制。

6)在正常情况下,每个哨兵会以每10s一次的频率向它已知的所有主从节点发送INFO命令;当主节点被哨兵标记为“客观下线”时,哨兵向已下线的主节点的所有从节点发送INFO命令的频率会从10s一次改为1s一次。

7)若没有足够数量的哨兵同意主节点已经下线,主节点的“客观下线”状态就会被移除。若主节点重新向哨兵的PING命令返回有效回复,主节点的“主观下线”状态就会被移除。

哨兵模式的优点是:由于其基于主从模式,所以具有主从模式的所有优点,主从可以自动切换,系统更健壮,可用性更高;不断地检查主节点和从节点,如果有不正常,则通过API向管理员或者其他应用程序发送通知。缺点是:主从切换需要时间,会丢失数据;没有解决主节点写的压力;主节点的写能力、存储能力有限制;动态扩容困难、复杂等。

  • A+
所属分类:SQL
  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。