1、ZooKeeper 是什么
ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper 是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。
Zookeeper 保证了如下分布式一致性特性:
- 顺序一致性;
- 原子性;
- 单一视图;
- 可靠性;
- 实时性(最终一致性);
客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上注册了监听器,这个监听器也是由所连接的 zookeeper 机器来处理。对于写请求,这些请求会同时发给其他 zookeeper 机器并且达成一致后,请求才会返回成功。
因此,随着 zookeeper 的集群机器增多,读请求的吞吐会提高但是写请求的吞吐会下降。
本文详细介绍了Zookeeper的核心概念、功能特性,包括Zookeeper是什么、提供的服务、文件系统、ZAB协议、节点类型、Watcher机制、ACL权限控制等,并深入探讨了Zookeeper在分布式协调服务中的作用,如数据发布/订阅、负载均衡、命名服务、分布式锁等应用场景。同时,还涵盖了面试中常见的Zookeeper问题,是准备Zookeeper面试的全面指南。
订阅专栏 解锁全文

584

被折叠的 条评论
为什么被折叠?



