208面试题 Zookeeper

十六、Zookeeper

157.zookeeper 是什么?

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

158.zookeeper 都有哪些功能?
  • 集群管理:监控节点存货状态,运行请求等
  • 主节点选举:主节点挂了,Zookeeper协助选取一个新的主节点
  • 分布式锁:Zookeeper可以对分布式锁进行控制
    • Zookeeper提供两种锁:
      独占锁:独占锁是只有一个线程使用资源
      共享锁:共享锁是读锁共享,读写互斥
  • 命名服务:在分布式系统中,通过使用命名服务,客户端应用能够很快根据指定 名字来获取资源或者服务的路径等
159.zookeeper 有几种部署模式?
  • 单机部署:一台集群上部署
  • 集群部署:多台集群运行
  • 伪集群部署:一台集群启动多个Zookeeper实例运行
160.zookeeper 怎么保证主从节点的状态同步?

Zookeeper的核心是原子广播,这个机制保证了各个server之间的同步,实现这 个机制的协议叫做zab协议。zab协议有两种模式,分别是恢复模式和广播模式。当服 务启动或在领导者崩溃后,zab就进入了恢复模式,当领导者被选举出来,并且大多 数server完成了和leader的状态同步以后,恢复模式就结束了。状态同步保证了 leader和server具有相同的系统状态。

161.集群中为什么要有主节点?

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

162.集群中有 3 台服务器,其中一个节点宕机,这个时候 zookeeper 还可以使用吗?

可以使用,单数服务器只要没超过一半的服务器宕机就可以继续使用。
当然如果大于一半的服务器宕机就不可用了。

163.说一下 zookeeper 的通知机制?

在 ZooKeeper 中,引入了 Watcher 机制来实现这种分布式的通知功能。ZooKeeper 允许客户端向服务端注册一个 Watcher 监听,当服务器的一些特定事件触发了这个 Watcher,那么就会向指定客户端发送一个事件通知来实现分布式的通知功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值