面试题~ 说说你对redis 哨兵机制的理解

首先哨兵呢是redis集群架构中非常重要的一个组件,主要功能 就这么几个 :

(1)集群监控,负责监控redis master 和slave进程是否正常工作。
(2)消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员。
(3)故障转移,如果master node挂掉了,会自动转移到slave node上。
(4)配置中心,如果故障转移发生了,通知client客户端新的master地址。


其次 哨兵本身也是分布式的,是作为一个哨兵集群去运行的,相互协同工作

(1)故障转移时,判断一个master node宕机了,需要大部分哨兵都同意才行,涉及到分布式选举问题。
(2)及时部分哨兵节点挂掉了,哨兵集群还是能正常工作的,因为如果一个作为高可用机制重要组成部分的故障转移系统本身就是单点,那么就不靠谱。

哨兵的核心知识
  • 哨兵至少需要3个实例,来保证自己的健壮性。
  • 哨兵+redis主从的部署架构,是不会保证数据零丢失的,只能保证redis集群的高可用性
  • 对于哨兵+redis主从这种复杂的部署架构,尽量在测试环境和生产环境,都进行充分的测试和演练。
 

猜你喜欢

转载自www.cnblogs.com/luy520/p/12755678.html