Redis高可用架构—哨兵(sentinel)机制详细介绍

2023-09-11 来源:飞速影视

什么是Redis sentinel


上篇文章Redis高可用方案—主从(masterslave)架构中我们了解了Redis的主从复制模式的原理及其搭建方式,知道了它具有数据的多机备份和数据的读写分离的好处。但主从复制架构有一个缺陷,就是当master节点发生故障后,无法自动实现故障转移,需要人手动从slave节点中选择一个作为master节点继续提供服务。而本篇文章要介绍的Redis哨兵机制就解决了这一问题。
哨兵(sentinel)在Redis主从架构中是一个非常重要的组件,是在Redis2.8版本引入的。它的主要作用就是监控所有的Redis实例,并实现master节点的故障转移。哨兵是一个特殊的redis服务,它不负责数据的读写,只用来监控Redis实例。

Redis sentinel工作原理


在哨兵模式架构中,client端在首次访问Redis服务时,实际上访问的是哨兵(sentinel),sentinel会将自己监控的Redis实例的master节点信息返回给client端,client后续就会直接访问Redis的master节点,并不是每次都从哨兵处获取master节点的信息。
sentinel会实时监控所有的Redis实例是否可用,当监控到Redis的master节点发生故障后,会从剩余的slave节点中选举出一个作为新的master节点提供服务,并将新master节点的地址通知给client端,其他的slave节点会通过slaveof命令重新挂载到新的master节点下。当原来的master节点恢复后,也会作为slave节点挂在新的master节点下。如下图:

Redis高可用架构—哨兵(sentinel)机制详细介绍


一般情况下,为了保证高可用,sentinel也会进行集群部署,防止单节点sentinel挂掉。当sentinel集群部署时,各sentinel除了监控redis实例外,还会彼此进行监控。如下图:
相关影视
合作伙伴
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)

www.fs94.org-飞速影视 粤ICP备74369512号