ZK的初始化选举和崩溃选举过程
导读:ZK的初始化选举和崩溃选举过程,小编为你讲解ZK的初始化选举和崩溃选举过程的相关知识,接下来IT袋网小编为大家介绍。 相关概念 zxId:事务id, sId:节点id 先对比zxId,再对比sId,先投自己,选票内容
ZK的初始化选举和崩溃选举过程
小编为你讲解ZK的初始化选举和崩溃选举过程的相关知识,接下来IT袋网小编为大家介绍。
相关概念
- zxId:事务id,
- sId:节点id
先对比zxId,再对比sId,先投自己,选票内容(zxId,sId),遇强改投
- 投票箱:每个节点在本地维护自己和其他节点的投票信息,改投时需要更新信息,并广播
节点状态:
- LOOKING,竞选状态。
- FOLLOWING,随从状态,同步leader状态,参与投票。
- OBSERVING,观察状态,同步leader状态,不参与投票。
- LEADING,领导者状态
初始化
假设没有数据,以5个节点为例
- 节点1启动,此时只有一台服务器启动,它发出去的请求没有任何响应,所以它的选举状态一直是LOOKING状态
- 节点2启动,它与节点1进行通信,互相交换自己的选举结果,由于两者都没有历史数据,所以serverId值较大的服务器2胜出,但是由于没有达到半数以上,所以服务器1,2还是继续保持LOOKING状态
- 节点3启动,与1、2节点通信交互数据,服务器3成为服务器1,2,3中的leader,此时有三台服务器选举了3,所以3成为leader
- 节点4启动,理论上服务器4应该是服务器1,2,3,4中最大的,但是由于前面已经有半数以上的服务器选举了服务器3,所以它只能切换为follower
- 节点5启动,同4一样

崩溃选举
- 变更状态,leader故障后,follower进入looking状态
- 各节点投票,先投自己(zxId,sId),再广播投票,
- 接收到投票,对比zxId和sId,如果本节点小、则将票改为接收的投票信息,并记录投票信息,重新广播。否则本节点大、则可不做处理
- 统计本地投票信息,超过半数,则切换为leading状态并广播
以上是IT袋网网关于ZK的初始化选举和崩溃选举过程的具体介绍,小编希望给网友们带来一些知识。
相关阅读
-
什么是Docker 有哪些组件? Docker有哪些特点和优势
全面为您解析什么是Docker的方法内容,请看下面详细的介绍。 Docker是一个开源的容器化平台,它允许开发者将应用程序及其依赖项打包到一个独立、轻量级的容器中。容器是一种虚拟化技术,
-
产品种类有哪些 讲解商品类目查询网站
一篇方法教程,与您分享产品种类有哪些和讲解商品类目查询网站的相关话题,继续往下看吧! 引子: 在现代汉语词典中,“产品”的解释是“生产出来的物品”。那么,在远古时代,我们的
-
网站无法访问的常见原因有哪些 常见的网站访问问题及其原因
为关注IT袋网网的网友们详解网站无法访问的常见原因有哪些的相关经验,一定能解决您的问题的,一起来了解吧! 有多种问题可能会阻止用户访问您的网站。 本文将解决无法访问网站,且没
-
简述网站推广的方法有哪些 小网站广告投放渠道
为大家介绍的是简述网站推广的方法有哪些和小网站广告投放渠道的相关知识,下面来一起了解一下吧。 网站是许多公司在进行互联网推广时的终端设备,它承担着公司信息、商品信息、客户


