为什么redis哨兵集群只有2个节点无法正常工作?-创新互联

由于redis的响应速度快,每秒支持的并发极高(号称10万),现在redis越来越流行了
redis支持的存储有: string, hash(map),list, set, sortset 同时可以使用redis的setnx 来实现分布式锁
首先谈谈redis的哨兵模式:

高港网站建设公司创新互联公司,高港网站设计制作,有大型网站制作公司丰富经验。已为高港成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的高港做网站的公司定做!

哨兵支持对主从的监控,并且当主节点挂机之后,可以启动从节点升级为主节点继续提供服务
同时哨兵也支持对客户端提供发现服务,客户端通过连接哨兵从而获取主节点的信息,如果主节点挂机,在升级从节点为主节点之后,客户端通过哨兵可以连接上新的主节点
主节点和从节点之间通过同步写命令来保持数据一致(在启动的时候会立刻先同步主节点的快照,保存主节点的信息)
判断节点是否宕机并且需要重启需要几个哨兵协同判断,当一定数量的哨兵(可配置) 认为主节点宕机才会去升级从节点
接下来谈谈redis的集群模式

redis集群从多主多从共同支撑,至少需要三个主节点才能启动集群
每个集群包含 16384个槽 ,每一个主(从节点负责同步主节点的数据)负责存储其中的某一个槽,redis 通过对key的hash 确定存储在哪一个槽上面,
当需要加入新的节点或者删除节点的时候 ,redis 会去维护不同主节点上面的槽,从而重新分配槽的所属
为什么redis哨兵集群只有2个节点无法正常工作?

哨兵集群必须部署2个以上节点
如果哨兵集群仅仅部署了个2个哨兵实例,quorum=1
为什么redis哨兵集群只有2个节点无法正常工作?
Configuration: quorum = 1
master宕机,s1和s2中只要有1个哨兵认为master宕机就可以还行切换,同时s1和s2中会选举出一个哨兵来执行故障转移
同时这个时候,需要majority,也就是大多数哨兵都是运行的,2个哨兵的majority就是2(2的majority=2,3的majority=2,5的majority=3,4的majority=2),2个哨兵都运行着,就可以允许执行故障转移
但是如果整个M1和S1运行的机器宕机了,那么哨兵只有1个了,此时就没有majority来允许执行故障转移,虽然另外一台机器还有一个R1,但是故障转移不会执行
经典的3节点哨兵集群
为什么redis哨兵集群只有2个节点无法正常工作?
Configuration: quorum = 2,majority
如果M1所在机器宕机了,那么三个哨兵还剩下2个,S2和S3可以一致认为master宕机,然后选举出一个来执行故障转移
同时3个哨兵的majority是2,所以还剩下的2个哨兵运行着,就可以允许执行故障转移

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


文章标题:为什么redis哨兵集群只有2个节点无法正常工作?-创新互联
当前网址:http://pwwzsj.com/article/dsecdi.html