zk是什么?
    ZooKeeper 是一个开源的分布式协调服务。它是一个为分布式应用提供一致性服务的软件,分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。
    ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

    zk的核心能力是什么?

    • 文件系统:提供类似目录树结构的存储,且在目录节点可以存储数据,且通过内存存储提高吞吐量。所以可以用于存储少量数据。节点称为znode,根据持久和顺序两个维度分为以下4种:
      • 顺序持久
      • 无序持久
      • 顺序临时
      • 无序临时
    • 原子广播:
    • 通知机制:允许客户端在任意一个znode上注册watcher
      • 节点数据变更
      • 节点删除
      • 同级节点增加
      • 父节点变更

    image.png