哨兵集群模式
1.介绍
redis-cluster(redis3.0)出现之前,绝大部分redis使用的是哨兵集群,利用哨兵(redis进程)对主从结构监听,监听主,从主节点获取(info replication)从节点信息,保存在内存中,后续每一秒都会发起一次心跳检测(rpc远程协议),一旦发现主节点宕机,哨兵集群就会发起投票机制,通过过半选举出新的master
.2.哨兵结构
一个哨兵集群只能维护一个数据分片的高可用,不能完成分布式
分布式结构:
3.哨兵投票机制
为什么要投票,为什么要过半
哨兵监听的主从关系,角色是变化的,每次变化,都需要哨兵监控,对所有的决策都需要投票
哨兵连接主从结构需要网络(网络通信可能有波动),如果只有一个哨兵投票,则结论不可信,所以引入过半机制,一半以上节点必须投票一致
集群容忍度:
哨兵集群总,可以允许宕机的数量
5个哨兵,至少3个节点投票,至少活三个,集群容忍度为2
6个哨兵,至少4个节点投票,至少活四个,集群容忍度为2
由于2n和2n-1的集群容忍度相同,一半集群数量为奇数。