热门课程

免费试听

上课方式

开班时间

当前位置: 首页 -   文章 -   新闻动态 -   正文

zookeeper的原理及应用场景

知了堂姐
2024-07-08 17:22:16
0

1.zookeeper 的原理

zab 协议,zab 协议有 2 种模式恢复模式(选主)和广播模式(同步),当服务启动或者主节点宕机后,zk 会进

入恢复模式,选出 Master 节点后就可以进行数据同步了.

2.zookeeper 有哪些应用场景

zookeeper 可以作为 dubbo 的注册中心,可以做分布式锁,可以做 mycat 的配置中心.

3.zookeeper 的节点类型有哪些?有什么区别?

有临时节点和永久节点,分再细一点有临时有序/无序节点,有永久有序/无序节点.

当创建临时节点的程序结束后,临时节点会自动消失,临时节点上的数据也会一起消失.

4.讲一下 zookeeper 的选举机制

zookeeper 的节点数必须为 2n+1,也就是奇数个节点,以此来保证选举成功.

以 5 个节点的集群为例,每个 zk 都有自己的 id,叫 myid,这里假设我 5 台服务器 zk 的 myid 依次为 1-5.

启动 myid 为 1 的 zk,它会给自己投票,然后发现集群中无其他节点启动,于是它处于 looking 状态

启动 myid 为 2 的 zk,它会给自己投票,然后与节点 1 互换投票,由于节点 2 的 myid 大于节点 1,所以此

次投票节点 2 胜出,但节点 2 此时的得票少于总节点数的一半,所以节点 2 不能被作为 master,节点 2

也将处于 looking 状态

启动 myid 为 3 的 zk,它会给自己投票,然后与节点 1,2 互换投票,由于节点 3 的 myid 大于节点 2,所以

此次投票节点 3 胜出,节点 3 的得票数大于节点总数的一半了,此时节点 3 胜出,成为 master 节点,其他

两个节点成为 slaver 节点

启动 myid 为 4 的 zk,尽管节点 4 的 myid 最大,但此时已经有主了,节点 4 也只能乖乖做一个从节点...

启动 myid 为 5 同上...

当有节点挂了之后,开始重新选举,选举规则跟上面类似.

5.zookeeper 的节点数为什么只能为奇数个?

因为 zookeeper 的选举算法要求:可用节点数 > 总节点数/2 如果为奇数个节点的话,一旦 zk 集群发

生均等脑裂,就无法保证该算法要求.

大家都在看

参加java培训班半年好找工作吗

2024-07-08 浏览次数:0

自学前端怎么进大厂?自学前端怎么找工作?

2024-07-08 浏览次数:0

软件测试常见bug有哪些?这些bug你遇到了吗

2024-07-08 浏览次数:0

专科生通过Java培训班可以成功找到工作吗?

2024-07-08 浏览次数:0

ssh 的相关原理

2024-07-08 浏览次数:0

知了汇智与北方新宇签订人才战略合作协议

2024-07-08 浏览次数:0
最新资讯