失效链接处理 |
2024 最?Zookeeper面试?PDF 下蝲
相关截图Q?/strong>
![]() 主要内容Q?/strong>
ZooKeeper 是什么?
ZooKeeper 是一个开源的分布式协调服务。它是一个ؓ(f)分布式应用提供一致性服务的软gQ分?/span>
式应用程序可以基?/span> Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/?/span>
知、集管理?/span>Master 选D、分布式锁和分布式队列等功能?/span>
ZooKeeper 的目标就是封装好复杂易出错的关键服务Q将单易用的接口和性能高效、功能稳?/span>
的系l提供给用户?/span>
Zookeeper 保证?jin)如下分布式一致性特性:(x)
Q?/span>1Q顺序一致?/span>
Q?/span>2Q原子?/span>
Q?/span>3Q单一视图
Q?/span>4Q可靠?/span>
Q?/span>5Q实时性(最l一致性)(j)
客户端的读请求可以被集群中的L一台机器处理,如果读请求在节点上注册了(jin)监听器,q个监听
器也是由所q接?/span> zookeeper 机器来处理。对于写hQ这些请求会(x)同时发给其他 zookeeper ?/span>
器ƈ且达成一致后Q请求才?x)返回成功。因此,随着 zookeeper 的集机器增多,读请求的吞吐
?x)提高?sh)是写h的吞吐会(x)下降?/span>
有序性是 zookeeper 中非帔R要的一个特性,所有的更新都是全局有序的,每个更新都有一个唯
一的时间戳Q这个时间戳UCؓ(f) zxidQ?/span>Zookeeper Transaction IdQ。而读h只会(x)相对于更新有
序,也就是读h的返回结果中?x)带有这?/span>zookeeper 最新的 zxid?/span>
ZooKeeper 提供?jin)什么?
文gpȝ
通知机制
Zookeeper面试?/span>Zookeeper 文gpȝ
Zookeeper 提供一个多层的节点命名空_(d)节点UCؓ(f) znodeQ。与文gpȝ不同的是Q这些节
炚w可以讄兌的数据,而文件系l中只有文g节点可以存放数据而目录节点不行?/span>
Zookeeper Z(jin)保证高吞吐和低gq,在内存(sh)l护?jin)这个?wi)状的目录l构Q这U特性?/span>
Zookeeper 不能用于存放大量的数据,每个节点的存放数据上限ؓ(f)1M?/span>
Zookeeper 怎么保证M节点的状态同步?
Zookeeper 的核?j)是原子q播机制Q这个机制保证了(jin)各个 server 之间的同步。实现这个机制的?/span>
议叫?/span> Zab 协议?/span>Zab 协议有两U模式,它们分别是恢复模式和q播模式?/span>
恢复模式
当服务启动或者在领导者崩溃后Q?/span>Zabp入了(jin)恢复模式Q当领导者被选D出来Q且大多?/span> server
完成?jin)?/span> leader 的状态同步以后,恢复模式q束了(jin)。状态同步保证了(jin) leader ?/span> server h?/span>
同的pȝ状态?/span>
q播模式
一?/span> leader 已经和多数的 follower q行?jin)状态同步后Q它?yu)可以开始广播消息了(jin)Q即q入q播?/span>
态。这时候当一?/span> server 加入 ZooKeeper 服务中,它会(x)在恢复模式下启动Q发?/span> leaderQƈ?/span>
leader q行状态同步。待到同步结束,它也参与消息q播?/span>ZooKeeper 服务一直维持在
Broadcast 状态,直到 leader 崩溃?jin)或?/span> leader 失去?jin)大部分?/span> followers 支持?/span>
|