ZooKeeper 的应用场景
典型的发布/订阅模式的分布式数据管理与协调框架
ZooKeeper 解决了什么问题?
高性能使得 ZooKeeper 能够应用于对系统吞吐有明确要求的大型分布式系统高可用可以解决分布式的单点问题具有严格的顺序访问控制能力,主要是针对写操作的严格顺序性,使得客户端可以基于 ZooKeeper 来实现一些复杂的同步原语
利用 ZooKeeper 可以非常方便构建一系列分布式应用中都会涉及到的核心功能。
数据发布/订阅负载均衡命名服务分布式协调/通知集群管理Master 选举分布式锁分布式队列
ZooKeeper 在大型分布式系统的应用:
Hadoop 利用 ZooKeeper 实现了高可用的功能,包括 HDFS 的 NameNode 和 YARN 的 ResourceManager。此外 YARN 的运行状态是利用 ZooKeeper 来存储的
Kafka 中大部分组件都应用了 ZooKeeper
Dubbo 基于 ZooKeeper 实现了服务注册中心