网易首页 > 网易号 > 正文 申请入驻

ZooKeeper的面试题让我没逃过面试官的灵魂拷问,我太难了

0
分享至

前言:

ZooKeeper 是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper面试灵魂拷问

文末有福利哦

1.ZooKeeper 提供了什么?

  • 1、文件系统
  • 2、通知机制

2.Zookeeper 文件系统

Zookeeper 提供一个多层级的节点命名空间(节点称为 znode)。与文件系统不同的是,这些节点都可以设置关联的数据,而文件系统中只有文件节点可以存放数据而目录节点不行。Zookeeper 为了保证高吞吐和低延迟,在内存中维护了这个树状的目录结构,这种特性使得 Zookeeper 不能用于存放大量的数据,每个节点的存放数据上限为1M

3.ZAB 协议?

ZAB 协议是为分布式协调服务 Zookeeper 专门设计的一种支持崩溃恢复的原子广播协议。

ZAB 协议包括两种基本的模式:崩溃恢复和消息广播。

当整个 zookeeper 集群刚刚启动或者 Leader 服务器宕机、重启或者网络故障导致不存在过半的服务器与 Leader 服务器保持正常通信时,所有进程(服务器)进入崩溃恢复模式,首先选举产生新的 Leader 服务器,然后集群中 Follower 服务器开始与新的 Leader 服务器进行数据同步,当集群中超过半数机器与该 Leader服务器完成数据同步之后,退出恢复模式进入消息广播模式,Leader 服务器开始接收客户端的事务请求生成事物提案来进行事务请求处理。

4.四种类型的数据节点 Znode

1、PERSISTENT-持久节点除非手动删除,否则节点一直存在于 Zookeeper 上

2、EPHEMERAL-临时节点临时节点的生命周期与客户端会话绑定,一旦客户端会话失效(客户端与zookeeper 连接断开不一定会话失效),那么这个客户端创建的所有临时节点都会被移除。

3、PERSISTENT_SEQUENTIAL-持久顺序节点基本特性同持久节点,只是增加了顺序属性,节点名后边会追加一个由父节点维护的自增整型数字。

4、EPHEMERAL_SEQUENTIAL-临时顺序节点基本特性同临时节点,增加了顺序属性,节点名后边会追加一个由父节点维护的自增整型数字。

5.客户端注册 Watcher 实现

1、调用 getData()/getChildren()/exist()三个 API,传入 Watcher 对象

2、标记请求 request,封装 Watcher 到 WatchRegistration

3、封装成 Packet 对象,发服务端发送 request

4、收到服务端响应后,将 Watcher 注册到 ZKWatcherManager 中进行管理

5、请求返回,完成注册

6.客户端回调 Watcher

客户端 SendThread 线程接收事件通知,交由 EventThread 线程回调 Watcher。

客户端的 Watcher 机制同样是一次性的,一旦被触发后,该 Watcher 就失效了。

7.Chroot 特性

3.2.0 版本后,添加了 Chroot 特性,该特性允许每个客户端为自己设置一个命名空间。如果一个客户端设置了 Chroot,那么该客户端对服务器的任何操作,都将会被限制在其自己的命名空间下。通过设置 Chroot,能够将一个客户端应用于 Zookeeper 服务端的一颗子树相对应,在那些多个应用公用一个 Zookeeper 进群的场景下,对实现不同应用间的相互隔离非常有帮助。

8.ookeeper 下 Server 工作状态

服务器具有四种状态,分别是 LOOKING、FOLLOWING、LEADING、OBSERVING。

1、LOOKING:寻找 Leader 状态。当服务器处于该状态时,它会认为当前集群中没有 Leader,因此需要进入 Leader 选举状态。

2、FOLLOWING:跟随者状态。表明当前服务器角色是 Follower。

3、LEADING:领导者状态。表明当前服务器角色是 Leader。

4、OBSERVING:观察者状态。表明当前服务器角色是 Observer。

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

zookeeper 采用了全局递增的事务 Id 来标识,所有的 proposal(提议)都在被提出的时候加上了 zxid,zxid 实际上是一个 64 位的数字,高 32 位是 epoch(时期; 纪元; 世; 新时代)用来标识 leader 周期,如果有新的 leader 产生出来,epoch会自增,低 32 位用来递增计数。当新产生 proposal 的时候,会依据数据库的两阶段过程,首先会向其他的 server 发出事务执行请求,如果超过半数的机器都能执行并且能够成功,那么就会开始执行。

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

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

11.zk 节点宕机如何处理?

Zookeeper 本身也是集群,推荐配置不少于 3 个服务器。Zookeeper 自身也要保证当一个节点宕机时,其他节点会继续提供服务。如果是一个 Follower 宕机,还有 2 台服务器提供访问,因为 Zookeeper 上的数据是有多个副本的,数据并不会丢失;如果是一个 Leader 宕机,Zookeeper 会选举出新的 Leader。ZK 集群的机制是只要超过半数的节点正常,集群就能正常提供服务。只有在 ZK节点挂得太多,只剩一半或不到一半节点能工作,集群才失效。所以

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

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

12.zookeeper 负载均衡和 nginx 负载均衡区别

zk 的负载均衡是可以调控,nginx 只是能调权重,其他需要可控的都需要自己写

插件;但是 nginx 的吞吐量比 zk 大很多,应该说按业务选择用哪种方式。

13.Zookeeper 有哪几种几种部署模式?

部署模式:单机模式、伪集群模式、集群模式。

14.Zookeeper 对节点的 watch监听通知是永久的吗?为什么不是永久的?

不是。官方声明:一个 Watch 事件是一个一次性的触发器,当被设置了 Watch的数据发生了改变的时候,则服务器将这个改变发送给设置了 Watch 的客户端,以便通知它们。为什么不是永久的,举个例子,如果服务端变动频繁,而监听的客户端很多情况下,每次变动都要通知到所有的客户端,给网络和服务器造成很大压力。一般是客户端执行 getData(“/节点 A”,true),如果节点 A 发生了变更或删除,客户端会得到它的 watch 事件,但是在之后节点 A 又发生了变更,而客户端又没有设置 watch 事件,就不再给客户端发送。在实际应用中,很多情况下,我们的客户端不需要知道服务端的每一次变动,我只要最新的数据即可。

15.chubby 是什么,和 zookeeper 比你怎么看?

chubby 是 google 的,完全实现 paxos 算法,不开源。zookeeper 是 chubby

的开源实现,使用 zab 协议,paxos 算法的变种。

16.Zookeeper 的典型应用场景

Zookeeper 是一个典型的发布/订阅模式的分布式数据管理与协调框架,开发人员可以使用它来进行分布式数据的发布和订阅。通过对 Zookeeper 中丰富的数据节点进行交叉使用,配合 Watcher 事件通知机制,可以非常方便的构建一系列分布式应用中年都会涉及的核心功能,如:

1、数据发布/订阅

2、负载均衡

3、命名服务

4、分布式协调/通知

5、集群管理

6、Master 选举

7、分布式锁

8、分布式队列

总结:

这些面试题是我收集整理的一份千道面试题文档里面,分享了一小部分给大家,要拿到自己想要的offer,首先要有准备的去面试,其次就是要有过硬的知识。这份PDF面试资料包含了各大Java核心知识的面试,都带详细的解答,分享给有需要的人

包含知识:

  • MyBatis 面试题(27题)
  • ZooKeeper 面试题(28题)
  • Dubbo 面试题(30题)
  • Elasticsearch 面试题(24题)
  • Memcached 面试题(23题)
  • Redis 面试题(40题)
  • MySQL 面试题(50题)
  • Java 并发编程(一),Java 并发编程(二)(共123题)
  • Java 面试题(一),Java 面试题(二)(共228题)
  • Spring 面试题(一),Spring 面试题(二)(共116题)
  • 微服务面试题(50题)
  • Linux 面试题(45题)
  • Spring Boot 面试题(22题)
  • Spring Cloud 面试题(8题)
  • RabbitMQ 面试题(12题)
  • kafka 面试题(18题)

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
姜彦希长腿写真曝光!修长纤细展现完美身姿,惊艳全场!

姜彦希长腿写真曝光!修长纤细展现完美身姿,惊艳全场!

云端书馆
2024-05-21 08:23:51
当年,被富商苦追8年的千手观音聋哑人领舞,如今过得怎么样

当年,被富商苦追8年的千手观音聋哑人领舞,如今过得怎么样

乡野小珥
2024-05-22 07:42:33
送给中国式家长的一记响亮耳光:教育投资是最血本无归的项目!

送给中国式家长的一记响亮耳光:教育投资是最血本无归的项目!

芯怡飞
2024-05-18 12:12:01
当森林狼跨过掘金这座大山,我们才知道曾经的76人有多可惜

当森林狼跨过掘金这座大山,我们才知道曾经的76人有多可惜

邓肯的笑
2024-05-21 15:45:18
4年2.21亿合同能拿到吗?Shams:联盟里的人认为乔治想留在快船

4年2.21亿合同能拿到吗?Shams:联盟里的人认为乔治想留在快船

直播吧
2024-05-22 06:23:13
俄罗斯决定重新划定与立陶宛和芬兰的海上边界,同时启动威慑演习

俄罗斯决定重新划定与立陶宛和芬兰的海上边界,同时启动威慑演习

山河路口
2024-05-22 13:04:43
最年长的现任中央政治局委员,从团长到军委副主席,他用了34年

最年长的现任中央政治局委员,从团长到军委副主席,他用了34年

李昕言温度空间
2024-05-15 17:17:55
伊朗高层权力洗牌,反美斗士内贾德将掌权,美国噩梦来临?

伊朗高层权力洗牌,反美斗士内贾德将掌权,美国噩梦来临?

说天说地说实事
2024-05-21 18:36:38
河南64岁大爷五年间染指55名女性,只因太了解女性心理

河南64岁大爷五年间染指55名女性,只因太了解女性心理

真实故事汇
2024-05-06 13:31:30
湖南两主播连线“斗狠”,输者在小区楼下脱光直播!均被拘留

湖南两主播连线“斗狠”,输者在小区楼下脱光直播!均被拘留

南方都市报
2024-05-22 10:56:10
实锤了!林更新去探班赵姐了!而且两人准备三搭了!

实锤了!林更新去探班赵姐了!而且两人准备三搭了!

雨天曼曼
2024-05-22 09:40:04
广东商界天才,一辈子都没有离开广东,却将5000元创业成20亿?

广东商界天才,一辈子都没有离开广东,却将5000元创业成20亿?

小宇宙双色球
2024-05-22 07:30:07
美国登月不是假的!承认美国登月,就是承认人类科技的进步

美国登月不是假的!承认美国登月,就是承认人类科技的进步

作家李楠枫
2024-05-21 20:53:05
逮捕内塔尼亚胡?何其荒唐!ICC检察官在声明里都写了什么?

逮捕内塔尼亚胡?何其荒唐!ICC检察官在声明里都写了什么?

寰宇大观察
2024-05-21 21:53:24
主动降薪1个亿!尼克斯悍将太感人了,还想留队接着打!

主动降薪1个亿!尼克斯悍将太感人了,还想留队接着打!

德译洋洋
2024-05-22 13:08:41
毛主席目前在世的八位直系亲属,现今都有谁,过得怎么样

毛主席目前在世的八位直系亲属,现今都有谁,过得怎么样

史诗长歌
2024-05-14 15:40:02
乌克兰正在赢得导弹和无人机战争,S-400 根本无法防住ATACMS导弹

乌克兰正在赢得导弹和无人机战争,S-400 根本无法防住ATACMS导弹

探索星空
2024-05-22 08:44:59
因为MEGA,李想亲自砍掉了今年所有的电车

因为MEGA,李想亲自砍掉了今年所有的电车

差评
2024-05-22 11:06:45
卢秀燕成功地继承了王金平的衣钵,成为蓝皮绿骨的新代表!

卢秀燕成功地继承了王金平的衣钵,成为蓝皮绿骨的新代表!

呆萌的叶子
2024-05-21 12:49:36
严俊泉被查,曾因3死1伤事故受处分

严俊泉被查,曾因3死1伤事故受处分

鲁中晨报
2024-05-21 19:47:03
2024-05-22 14:12:49
JAVA周某人
JAVA周某人
致敬大师,致敬未来的你。
137文章数 1513关注度
往期回顾 全部

科技要闻

Copilot领衔,奥特曼站台,微软决战AI时代

头条要闻

河北唐山人大常委会女主任杨洁被查 "前任"上月刚落马

头条要闻

河北唐山人大常委会女主任杨洁被查 "前任"上月刚落马

体育要闻

结束了!米体:国米的苏宁时代结束了

娱乐要闻

乔欣助理离职大爆料!涉及明星超10位

财经要闻

新能源,突传重磅!

汽车要闻

舒适价值拉满 奇瑞风云T9售12.99-16.99万元

态度原创

教育
亲子
家居
公开课
军事航空

教育要闻

2024年高、中考期间噪声污染管控公告

亲子要闻

奶凶奶凶的样子

家居要闻

化实为虚 理性与柔美的交互

公开课

近视只是视力差?小心并发症

军事要闻

媒体:被美军拒收的F-35 已经快没地儿放了

无障碍浏览 进入关怀版