Zookeeper脑裂问题以及为什么推荐奇数节点讲解

本文详细介绍了Zookeeper的选举算法,重点解释了为何建议Zookeeper集群节点设置为奇数个。通过举例说明,阐述了当节点数量为奇数时,如何保证在部分节点故障时仍能保持服务的连续性和数据一致性,有效防止‘脑裂’问题的发生。
摘要由CSDN通过智能技术生成

Zookeeper的选举算法

在zookeeper中,每一个节点都会有一个zxid和一个myid。其中zxid代表事务ID,而myid代表这个节点的ID。那么什么是事务ID呢,我们可以简单理解每一次操作,这个事务ID就会加1.比如添加数据,删除数据等。那么也就是说,zxid越大,代表这个节点的数据版本越新。也就是权重更高。而当zxid一样的情况下,myid越大权重越高,myid就是我们在配置文件中配置的id

举个栗子

假设有这样三个zk节点,经过选举,由于zxid是一样的,而节点3的myid最大为3,所以选中节点3为leader在这里插入图片描述
假设有下面这样三个zk节点,经过选举,由于节点2的zxid最大为89,所以选中节点2为leader.
在这里插入图片描述

为什么zk建议节点数量为奇数台

我们清楚zk的选举算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值