- ZooKeeper的设计目标
- 简单
- 高可用
- 有序
- 快速
- ZooKeeper的数据模型
- watch:znode数据变化通知
- 为应用提供的保障
- 原语集
- 典型应用
- 配置服务
- leader选举
对于分布式应用的开发,开发者通常需要花费大量的时间和精力解决网络延迟、服务器的不同处理能力、服务器异常重启等带来的问题,除此之外,还要考虑消息如何按序处理、服务器间的资源竞争等,而无法聚焦在具体的应用逻辑上。并且当你耗费大量时间和精力解决这些问题上后,还要面对不同的分布式应用间采用的不同实现导致的管理复杂度上升,难于部署的问题。
ZooKeeper就是为简化分布式系统的构建而诞生的,它最初是Apache Hadoop的子项目,于2010年11月正式成为了Apache的顶级项目。
ZooKeeper是一个开发源代码的分布式协调服务,提供了一套简单的原语集,具有高性能、高可用的特定,并提供了数据一致性的保障。使用ZooKeeper可以轻松地实现分布式的配置信息维护、统一命名服务、状态同步服务、集群管理等。