微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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内没有收到从节点的反馈,就意味着从节点同步不正常。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐