Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java高频面试题- 每日三连问?【Day30】 — ZooKeeper篇(六)

Java高频面试题- 每日三连问?【Day30】 — ZooKeeper篇(六)

作者头像
浩说编程
发布于 2022-04-12 06:19:51
发布于 2022-04-12 06:19:51
2580
举报
文章被收录于专栏:Java经验之谈Java经验之谈

问题导读

一、zookeeper 是如何保证事务的顺序一致性的?

二、分布式集群中为什么会有 Master?

三、zookeeper 节点宕机如何处理?

01

zookeeper 是如何保证事务的顺序一致性的?

正经回答:

zookeeper 采用了全局递增的事务 Id 来标识,所有的 proposal(提议)都在被提出的时候加上了 zxid,

zxid 实际上是一个 64 位的数字,高 32 位是 epoch( 时期; 纪元; 世; 新时代)用来标识 leader 周期,

如果有新的leader 产生出来,epoch 会自增。

低 32 位用来递增计数,当新产生 proposal 的时候,会依据数据库的两阶段过程,首先会向其他的 server 发出事务执行请求,

如果超过半数的机器都能执行并且能够成功,那么就会开始执行。

分享朋友圈,每天进步一点点~

02

分布式集群中为什么会有 Master?

正经回答:

在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行,其他的 机器可以共享 这个结果,这样可以大大减少重复计算,提高性能,于是就需要进行 leader 选举。

03

zookeeper 节点宕机如何处理?

正经回答:

Zookeeper 本身也是集群,推荐配置不少于 3 个服务器

Zookeeper 自身也要 保证当一个节点宕机时,其他节点会继续提供服务。

如果是一个 Follower 宕机,还有 2 台服务器提供访问,因为 Zookeeper 上 的数据是有多个副本的,数据并不会丢失;

如果是一个 Leader 宕机,Zookeeper 会选举出新的 Leader。

ZK 集群的机制是只要超过半数的节点正常,集群就能正常提供服务。只有在 ZK 节点挂得太多,只剩一半或不到一半节点能工作,集群才失效。

所以

3 个节点的 cluster 可以挂掉 1 个节点(leader 可以得到 2 票>1.5)

2 个节点的 cluster 就不能挂掉任何 1 个节点了(leader 可以得到 1 票<=1)

- End -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浩说编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
最新整理的Zookeeper 23道面试题
节点宕机 Zookeeper本身也是集群,推荐配置不少于3个服务器。Zookeeper自身也要保证当一个节点宕机时,其他节点会继续提供服务。如果是一个Follower宕机,还有2台服务器提供访问,因为Zookeeper上的数据是有多个副本的,数据并不会丢失;如果是一个Leader宕机,Zookeeper会选举出新的Leader。ZK集群的机制是只要超过半数的节点正常,集群就能正常提供服务。只有在ZK节点挂得太多,只剩一半或不到一半节点能工作,集群才失效。所以3个节点的cluster可以挂掉1个节点(leader可以得到2票>1.5)2个节点的cluster就不能挂掉任何1个节点了(leader可以得到1票<=1)
小熊学Java
2024/09/27
4750
最新整理的Zookeeper 23道面试题
面试:ZooKeeper二十三连问,看看你能不能接住
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
IT大咖说
2019/12/17
9710
面试:ZooKeeper二十三连问,看看你能不能接住
2019年面试官最喜欢问的28道ZooKeeper面试题
ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
程序员追风
2020/01/14
5230
2019年面试官最喜欢问的28道ZooKeeper面试题
ZooKeeper面试题(2020最新版)
文章目录 1. ZooKeeper 是什么? 2. ZooKeeper 提供了什么? 3. Zookeeper 文件系统 4. Zookeeper 怎么保证主从节点的状态同步? 5. 四种类型的数据节点 Znode 6. Zookeeper Watcher 机制 -- 数据变更通知 7. 客户端注册 Watcher 实现 8. 服务端处理 Watcher 实现 9. 客户端回调 Watcher 10. ACL 权限控制机
Java架构师必看
2020/04/10
4.1K0
29个Zookeeper面试题超详细(带答案)
ZooKeeper是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
编程大道
2019/09/26
5.6K0
蚂蚁面试官:Zookeeper 的选举流程是怎样的?我当场懵逼了。。。
栈长面试经常会遇到面试官问 Zookeeper 的选举原理,我心想,问这些有啥用吗?又不要我造火箭!
Java技术栈
2021/10/19
8880
【面试题】90%面试中被问到的zookeeper面试题
前面花了30天时间整理了设计模式系列文章,得到了非常好的反馈,也让我更加有动力坚持写作,有兴趣的朋友可以回顾这篇文章。
Tom弹架构
2021/12/21
6490
dubbo+zk面试高频问题
dubbo(默认):单一长连接和 NIO 异步通讯,适合大并发小数据量的服务调用,以及消费者远大于提供者。传输协议 TCP,异步,Hessian 序列化;rmi:采用 JDK 标准的 rmi 协议实现,传输参数和返回参数对象需要实现 Serializable 接口,使用 java 标准序列化机制,使用阻塞式短连接,传输数据包大小混合,消费者和提供者个数差不多,可传文件,传输协议 TCP。多个短连接,TCP 协议传输,同步传输,适用常规的远程服务调用和 rmi 互操作。在依赖低版本的 Common-Collections包,java 序列化存在安全漏洞;
用户7353950
2022/06/23
4180
Java基础面试题【分布式】三 ZAB协议
ZAB 协议是为分布式协调服务 Zookeeper 专门设计的一种支持崩溃恢复的原子广播协议,实现分布式 数据一致性
@派大星
2023/10/13
2280
Java高频面试题- 每日三连问?【Day32】 — ZooKeeper篇(八)
官方声明:一个 Watch 事件是一个一次性的触发器,当被设置了 Watch 的数据发生了改变的时候,则服务器将这个改变发送给设置了 Watch 的客户 端,以便通知它们。
浩说编程
2022/04/12
2420
万字长文入门Zookeeper核心知识点
ZooKeeper 是一个开源的分布式协调框架,它的定位是为分布式应用提供一致性服务,是整个大数据体系的管理员。ZooKeeper 会封装好复杂易出错的关键服务,将高效、稳定、易用的服务提供给用户使用。
Java识堂
2021/02/05
6690
万字长文入门Zookeeper核心知识点
画图搞懂集群模式下zookeeper的ZAB协议如何保证数据一致性
zookeeper能被各个牛逼的中间件项目中所依赖,已经说明了他的地位。一出手就是稳定的杀招。zookeeper是什么?官网中所说,zookeeper致力于开发和维护成为一个高度可靠的分布式协调器。
简熵
2023/03/06
5170
画图搞懂集群模式下zookeeper的ZAB协议如何保证数据一致性
Zookeeper的核心原理
类似于前面我们简单说了Zookeeper可能解决的问题,例如类似于实现分布式锁,控制任务执行
名字是乱打的
2022/01/12
4500
Zookeeper的核心原理
Java高频面试题- 每日三连问?【Day26】 — ZooKeeper篇(二)
ZAB 协议是为分布式协调服务 Zookeeper 专门设计的一种支持崩溃恢复的原子广播协议。
浩说编程
2022/04/12
1960
总结了12道Zookeeper面试题
ZooKeeper 是一个开源的分布式协调服务,属于面试的热门考点。发现一篇很不错的文章,给大家参考。
良月柒
2019/11/26
8550
面试完腾讯,总结了这12道Zookeeper面试题!
ZooKeeper 是一个开源的分布式协调服务,可以基于 ZooKeeper 实现诸如:数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列等功能。
程序员追风
2019/10/31
6070
面试完腾讯,总结了这12道Zookeeper面试题!
ZK数据一致性以及Leader选举
上两篇介绍了ZK的基础信息以及如何使用ZK实现分布式锁,今儿就来看看ZK是如何保持数据一致性以及ZK中Leader是如何进行选举的。
Liusy
2020/09/01
1.2K0
ZK数据一致性以及Leader选举
秋招面试题系列- - -Java工程师(十)
 前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~ 内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈 目录 ZooKeeper面试
用户10216580
2022/12/06
2300
秋招面试题系列- - -Java工程师(十)
分布式协调框架zookeeper
RPC(Remote Procedure Call,远程过程调用),一般用来实现部署在不同机器上的系统之间的方法调用,使得程序能够像访问本地系统资源一样,通过网络传输去访问远端系统资源;对于客户端来说, 传输层使用什么协议,序列化、反序列化都是透明的
周杰伦本人
2022/10/25
4630
分布式协调框架zookeeper
是的!一篇文章就能带你看完ZooKeeper!
ZooKeeper 由 Yahoo 开发,后来捐赠给了 Apache ,现已成为 Apache 顶级项目。ZooKeeper 是一个开源的分布式应用程序协调服务器,其为分布式系统提供一致性服务。其一致性是通过基于 Paxos 算法的 ZAB 协议完成的。其主要功能包括:配置维护、分布式同步、集群管理、分布式事务等。
Guide哥
2020/05/07
5000
是的!一篇文章就能带你看完ZooKeeper!
相关推荐
最新整理的Zookeeper 23道面试题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档