简单描述 Zookeeper
- ZK主要的特点:维护、协调、管理、监控。
- 特点
- 最终一致性:客户端看到的数据最终是一致的。
- 可靠性:服务器保存了消息,那么它就一直都存在。
- 实时性:ZooKeeper 不能保证两个客户端同时得到刚更新的数据。
- 独立性(等待无关):不同客户端直接互不影响。
- 原子性:更新要不成功要不失败,没有第三个状态
ZK有哪些应用场景
- 数据发布与订阅:发布和订阅所谓的配置管理,顾名思义就是将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理。
- ZK采用的是推拉结合的方式
- 推:服务端会推给注册了监控节点客户端Wathcer事件
- 拉:客户端获取通知后,然后主动到服务端拉取最新的数据
- 命名服务:是通过指定的名字来获取资源或者服务地址,利用ZK创建一个全局路径,这个路径可以作为一个名字。
- 在分布式环境下,通常需要对应用、服务统一命名,便于识别不同服务
- 可将服务名以及地址写入ZK,客户端通过ZK进行获取
- 配置管理:程序分布式部署在不同的机器上面,可以将程序的配置信息放在ZK的node节点下,当配置发送改变时&