2019年面试官最喜欢问的28道ZooKeeper面试题( 五 )

1. ZooKeeper 是什么?

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

分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能 。

Zookeeper 保证了如下分布式一致性特性:

(1)顺序一致性

(2)原子性

(3)单一视图

(4)可靠性

(5)实时性(最终一致性)

客户端的读请求可以被集群中的任意一台机器处理 , 如果读请求在节点上注册了监听器 , 这个监听器也是由所连接的 zookeeper 机器来处理 。 对于写请求 , 这些请求会同时发给其他 zookeeper 机器并且达成一致后 , 请求才会返回成功 。 因此 , 随着 zookeeper 的集群机器增多 , 读请求的吞吐会提高但是写请求的吞吐会下降 。

推荐阅读