Redis之Sentinel

2022/1/1 2:10:51

本文主要是介绍Redis之Sentinel,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Redis的主从同步配合哨兵模式,可以有效地提升我们Redis的高可用性。当主节点挂掉之后,哨兵集群可以择优选取从节点作为新的主节点,从而保证服务的可用性。
Redis Sentinel集群类似一个zookeeper集群,是集群高可用的心脏,一般由3-5个节点组成,即使个别节点挂了,集群还是可以正常运转。

Sentinel负责持续监控主从节点的健康,当主节点挂掉时,自动选择一个最优的从节点切换成为主节点。客户端来集群连接时,首先连接Sentinel,通过Sentinel查询主节点的地址,然后再连接主节点进行数据交互。
如果主节点发生了故障,客户端会重新向Sentinel查询地址,得到最新的主节点后,客户端会再次访问新的主节点地址,从而无需重启即可完成节点切换。

【消息丢失】
Redis主从是异步复制,所以主节点挂掉时,从节点可能没有全部收到同步消息,此时就发生了数据丢失。Sentinel无法保证消息不丢失,但是也能尽量保证消息少丢失。有两个选项可以限制主从延迟过大。
min-slaves-to-write 1 # 至少有一个节点在进行正常复制,否则就停止对外写服务,丧失可用性
min-slaves-max-lag 10 # 定义10S内没有收到从节点的反馈,就意味着从节点同步不正常。



这篇关于Redis之Sentinel的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程