ZK基础知识测试题(含详细答案)_第1页
ZK基础知识测试题(含详细答案)_第2页
ZK基础知识测试题(含详细答案)_第3页
ZK基础知识测试题(含详细答案)_第4页
ZK基础知识测试题(含详细答案)_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ZK基础知识测试题(含详细答案)适用场景:技术入门考核、岗位基础测评、自学巩固考试时长:60分钟满分:100分一、单项选择题(共10题,每题3分,共30分)1.以下关于ZK的核心定位,说法正确的是()A.分布式数据库组件B.分布式协调服务组件C.消息队列中间件D.负载均衡工具2.ZK默认的客户端连接端口是()A.2181B.8080C.3306D.63793.ZK集群中,负责处理客户端读写请求、统筹集群的节点角色是()A.FollowerB.ObserverC.LeaderD.Slave4.ZK的数据存储结构是()A.链式结构B.树形层级结构C.哈希表结构D.线性表结构5.以下不属于ZK节点(znode)类型的是()A.持久节点B.临时节点C.顺序节点D.缓存节点6.ZK临时节点的核心特性是()A.永久存储,手动删除才会消失B.客户端会话断开后自动删除C.集群重启后自动清除D.只能存储少量数据7.ZK集群正常运行的最小节点数和可用容错数是()A.3节点,可容错1个节点故障B.2节点,可容错1个节点故障C.3节点,可容错2个节点故障D.5节点,可容错2个节点故障8.ZK的Watcher机制核心作用是()A.数据持久化B.节点数据变化监听与通知C.集群节点心跳检测D.权限控制9.关于ZK事务ID(zxid),说法错误的是()A.全局唯一,递增生成B.区分事务先后顺序C.客户端可自定义设置D.集群同步数据的核心依据10.以下场景中,最不适合使用ZK实现的是()A.分布式锁B.服务注册与发现C.海量业务数据存储D.集群配置统一管理二、判断题(共10题,每题2分,共20分,对的打√,错的打×)1.ZK集群中Observer节点不参与Leader选举,只同步数据、处理读请求。()2.ZK的znode节点可以存储无限大小的数据。()3.持久顺序节点,会在节点名称后自动拼接递增数字,保证名称唯一。()4.ZK客户端断开重连后,之前注册的Watcher监听会自动保留生效。()5.ZK集群必须保证半数以上节点存活,才能正常提供服务。()6.临时节点可以拥有子节点。()7.Leader节点负责处理所有写请求,Follower节点可处理读请求。()8.ZK的主要优势是高可用、强一致性,适合高并发读写场景。()9.同一客户端对同一个节点可重复注册Watcher,每次变化都会触发通知。()10.ZK可以实现分布式任务调度、集群节点监控等拓展功能。()三、简答题(共4题,每题8分,共32分)1.简述ZK中四种常见znode节点类型及核心特点。2.详细说明ZKWatcher机制的工作原理和使用注意事项。3.ZK集群Leader选举的核心规则是什么?简述选举流程。4.结合实际场景,说明ZK实现分布式锁的核心原理。四、实操分析题(共1题,18分)某公司微服务项目使用ZK作为服务注册中心,近期出现问题:服务提供者正常启动,但消费者无法发现服务,集群3个节点均显示存活状态。请结合ZK工作机制,分析可能的故障原因,并给出对应的排查步骤和解决方案。详细参考答案一、单项选择题答案及解析1.B解析:ZK是经典的分布式协调组件,核心用于解决分布式场景下的协调问题,包括服务注册、分布式锁、配置管理、集群同步等,并非数据库、消息队列或负载均衡工具。2.A解析:ZK默认客户端连接端口为2181,集群节点通信端口、选举端口为独立端口,8080为常用web端口,3306为MySQL端口,6379为Redis端口。3.C解析:Leader是集群主节点,全权处理写请求、数据同步、集群管理;Follower跟随主节点,参与选举、处理读请求;Observer仅同步数据、处理读请求,不参与选举。4.B解析:ZK以树形层级结构存储数据,根节点下可创建多级子节点,结构类似文件系统,层级清晰、便于管理。5.D解析:ZK标准节点类型分为:持久节点、持久顺序节点、临时节点、临时顺序节点,无缓存节点类型。6.B解析:临时节点绑定客户端会话,当客户端会话超时、断开连接时,集群会自动删除该客户端创建的所有临时节点,常用于服务注册、心跳检测。7.A解析:ZK集群遵循半数存活原则,3节点集群需至少2个节点存活,可容错1个节点故障;偶数节点集群容错能力弱,生产环境优先使用奇数节点。8.B解析:Watcher是ZK的核心监听机制,客户端可对指定节点注册监听,当节点数据变更、节点新增/删除、子节点变更时,集群会主动通知客户端。9.C解析:zxid是ZK集群自动生成的全局唯一事务ID,严格递增,用于标识事务顺序、保证数据一致性,客户端无法自定义修改。10.C解析:ZK节点仅支持存储少量数据(默认单节点上限1M),读写性能有限,不适合海量数据存储;分布式锁、服务注册、配置管理是其核心适用场景。二、判断题答案及解析1.√解析:Observer为观察者节点,核心作用是分担集群读压力,不参与Leader选举,不影响集群半数机制。2.×解析:ZK单znode节点有数据大小限制,默认最大1MB,仅适合存储配置、状态、地址等少量核心数据。3.√解析:顺序节点会自动在节点名后拼接全局递增序列号,避免重名,是实现分布式锁、有序任务调度的核心基础。4.×解析:Watcher监听为一次性生效,客户端断开重连后,原有监听失效,需要重新注册Watcher才能继续监听节点变化。5.√解析:ZK集群核心规则:半数以上节点存活即可正常服务,低于半数则集群瘫痪,无法读写数据。6.×解析:临时节点不支持创建子节点,仅持久节点可创建多级子节点,该规则用于简化集群清理机制,避免会话断开后残留层级垃圾数据。7.√解析:集群读写分离,写请求必须经过Leader处理,保证数据一致性;读请求可由Follower、Observer节点处理,提升并发能力。8.×解析:ZK优势是强一致性、高可用,适合协调类场景,但不适合高并发读写场景,其吞吐量较低,无法支撑海量高频请求。9.×解析:Watcher是一次性监听,触发一次通知后立即失效,如需持续监听,必须在每次触发后重新注册。10.√解析:基于节点特性和监听机制,可拓展实现分布式任务调度、节点上下线监控、配置热更新等功能。三、简答题详细答案1.简述ZK中四种常见znode节点类型及核心特点(1)持久节点:客户端创建后永久存储在集群中,无论客户端是否断开连接,节点和数据都不会自动删除,需手动删除,常用于存储固定配置信息。(2)持久顺序节点:基于持久节点衍生,创建时系统自动在节点名称后拼接递增数字,保证节点名称全局唯一,节点永久保留,可用于实现有序分布式任务、公平锁。(3)临时节点:绑定客户端会话,客户端正常连接时节点保留,会话超时、断开、客户端下线后,集群自动清除节点,无法创建子节点,核心用于服务注册、心跳检测。(4)临时顺序节点:结合临时节点和顺序节点特性,会话失效自动删除,节点名带递增序号,是分布式有序锁、抢占式任务分配的核心实现方式。2.详细说明ZKWatcher机制的工作原理和使用注意事项工作原理:客户端向ZK服务端指定节点注册监听事件,服务端记录该监听关系;当对应节点发生数据变更、节点删除、子节点增减等触发事件时,服务端会主动向客户端推送通知;客户端接收通知后,可自主执行后续业务逻辑。注意事项:①监听为一次性机制,触发一次后立即失效,持续监听需重复注册;②仅能监听注册之后发生的节点变化,历史变更无法回溯;③客户端断连重连后,所有已注册监听全部失效,需重新配置;④监听通知仅推送事件类型,不返回最新节点数据,业务需主动拉取最新数据。3.ZK集群Leader选举的核心规则是什么?简述选举流程核心规则:集群中拥有最大zxid(事务ID)的节点优先成为Leader;若zxid相同,则节点ID最小的节点胜出。选举需获得集群半数以上节点投票方可生效。选举流程:①集群初始化或原Leader故障下线后,所有存活节点进入选举状态;②各节点向集群其他节点发送投票信息,包含自身zxid和节点ID;③节点对比所有投票信息,筛选出最优候选节点;④统计投票数,候选节点获得半数以上投票则成功当选Leader;⑤剩余节点自动成为Follower或Observer,集群恢复正常读写服务。4.结合实际场景,说明ZK实现分布式锁的核心原理ZK分布式锁主要依托临时顺序节点实现,核心原理如下:(1)所有需要抢占锁的客户端,在ZK指定锁根路径下创建临时顺序节点;(2)客户端获取根路径下所有子节点,判断自身创建的节点是否是序号最小的节点;(3)序号最小的客户端成功获取锁,执行业务逻辑;(4)未获取锁的客户端,监听自身前序序号的节点,等待释放通知;(5)持有锁的客户端业务执行完毕,主动删除自身节点释放锁;若客户端异常下线,临时节点会自动删除,避免死锁;(6)前序节点删除后,下一个序号的客户端收到监听通知,再次判断抢占锁,循环执行。该方式可实现公平分布式锁,且完美规避服务异常导致的死锁问题。四、实操分析题详细答案故障现象:ZK集群3节点全部存活,服务提供者启动正常,消费者无法发现注册的服务。可能故障原因:1.服务提供者注册节点为临时节点,客户端会话超时、心跳中断,节点已自动删除,但进程未报错;2.消费者监听失效,Watcher未重新注册,无法感知节点新增变化;3.集群数据同步异常,部分节点数据不一致,消费者连接的节点无最新注册数据;4.客户端与服务端会话配置异常,session超时时间过短,频繁断连;5.网络端口、防火墙限制,消费者无法正常读取ZK节点数据。排查步骤:1.登录ZK客户端,进入服务注册根路径,查看是否存在服务提供者的注册节点,确认节点是否真实存在;2.查看服务提供者日志,检查是否存在ZK会话断开、注册失败、心跳超时报错;3.查看消费者日志,确认是否成功注册节点监听、是否接收节点变更通知;4.分别连接集群三个ZK节点,对比查询同一路径节点数据,排查数据同步不一致问题;5.检查服务器防火墙、端口策略,确认2181端口通信正常;6.核对客户端session超时配置,确认参数是否合理。解决方案:1.若无注册节点:重启服务提供者,优化心跳配置,调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论