简单描述 Zookeeper

  • ZK主要的特点:维护、协调、管理、监控。
  • 特点
  • 最终一致性:客户端看到的数据最终是一致的。
  • 可靠性:服务器保存了消息,那么它就一直都存在。
  • 实时性:ZooKeeper 不能保证两个客户端同时得到刚更新的数据。
  • 独立性(等待无关):不同客户端直接互不影响。
  • 原子性:更新要不成功要不失败,没有第三个状态

ZK有哪些应用场景

  • 数据发布与订阅:发布和订阅所谓的配置管理,顾名思义就是将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理。
  • ZK采用的是推拉结合的方式
  • 推:服务端会推给注册了监控节点客户端Wathcer事件
  • 拉:客户端获取通知后,然后主动到服务端拉取最新的数据
  • 命名服务:是通过指定的名字来获取资源或者服务地址,利用ZK创建一个全局路径,这个路径可以作为一个名字。
  • 在分布式环境下,通常需要对应用、服务统一命名,便于识别不同服务
  • 可将服务名以及地址写入ZK,客户端通过ZK进行获取
  • 配置管理:程序分布式部署在不同的机器上面,可以将程序的配置信息放在ZK的node节点下,当配置发送改变时&