【面试官】那ZooKeeper为什么还采用ZAB协议

  • 面试官:知道ZAB协议吗?
  • 面试官:消息广播的二阶段提交你讲一讲?
  • 面试官:那二阶段提交有什么缺点吗?
  • 面试官:既然怎么多缺点,ZooKeeper为什么还采用ZAB协议?
  • 面试官:那崩溃模式怎么解决这些问题的?
  • 面试官:对了,你刚刚提到的事务中断逻辑是什么?
  • 👉以【面试官面试】形式覆盖Java程序员所需掌握的Java核心知识、面试重点
  • 📚本期是《ZooKeeper系列》,其他系列博客请订阅专栏《Java Offer训练营》
  • ❤创作不易,不妨点赞、收藏、关注支持一下

文章目录

  1. ZAB协议
    1. 二阶段提交
    2. 二阶段提交的缺点
    3. ZAB协议特点
  2. 崩溃模式
  3. 事务中断逻辑

1. ZAB协议

面试官:知道ZAB协议吗?

知道的面试官,这个协议主要是两方面组成。

一个是消息广播、一个是崩溃恢复

1.1 二阶段提交

面试官:消息广播的二阶段提交你讲一讲?

好的,消息广播使用的是原子广播协议,类似于二阶段提交过程

他的流程是这样的,针对客户端的事务请求,Leader服务器会为其生成对应的事务Proposal,并发送给集群中其余机器,然后再分别收集各自的选票

因为ZAB协议将二阶段提交中的事务中断逻辑移除,所以只需要收集过半Follower服务器的反馈Ack后即可,最后就是进行事务提交。

也就是分为二阶段,阶段一是询问事务的尝试能否成功,阶段二是事务提交。

1.2 二阶段提交的缺点

面试官:那二阶段提交有什么缺点吗?

  1. 首先一个是问题。参与一个事务的都需要进行阻塞,等到上一个完成之后才会开始

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java Offer训练营 文章被收录于专栏

👉以贴近现实的【面试官面试】形式帮助你系统学习后端技术 👉成体系知识帮你在后端进阶,每一道问答助你怒怼大厂面试官,收获大厂offer 👉《Java Offer训练营》包含Redis系列、MySQL系列、Kafka系列、ZooKeeper系列、JVM系列、多线程系列等等 👉制作不易,各位的支持是我创作的最大动力

全部评论
好贴
1
送花
回复
分享
发布于 04-21 13:03 北京
支持
点赞
送花
回复
分享
发布于 04-20 21:48 广东
滴滴
校招火热招聘中
官网直投
支持
点赞
送花
回复
分享
发布于 04-25 23:38 广东

相关推荐

5 10 评论
分享
牛客网
牛客企业服务