您的位置:首页 > 其它

ZooKeeper学习心得

2020-07-06 01:02 62 查看

ZooKeeper学习心得

初始ZooKeeper

首先我们要知道什么是ZooKeeper?
ZooKeeper是一个开源分布式协同系统,设计目标是将复杂且容易出错的分布式协同服务封装起来。抽象为一个集合,通过暴露接口的方式提供给大家使用。

ZooKeeper的常见应用场景

  1. 配置管理
  2. DNS服务
  3. 组成员管理
  4. 分布式锁
  5. 特点:适用于存储和协同相关的关键数据,不适合用于大数据量存储。
  6. 交互方式: Zookeeper服务使用ZooKeeper客户端与ZooKeeper集群进行交互。

Zookeeper的结构

  1. Zookeeper的层次模型是由data tree,data tree的组成为一个个的znode;
  2. znode的数据只支持全量读取和写入,不支持部分读取和写入;
  3. znode用路径来定位;例如/A/X;
  4. data tree的所有API都是wait free的正在执行的API调用不会影响其他API的调用;
  5. data tree的API都是对文件系统的wait-free操作,不直接提供锁这样的分布式协同机制,但是data-tree的API非常强大 可以实现多种分布式协同机制;
  6. 每个znode都能存储数据,都有自己的版本,这是不同于文件系统的地方。

Znode的分类

  1. znode可以是持久性的,也可以是临时储存的。
  2. 持久性znode一经创建,即使集群宕机或者客户端宕机都不会消失;重连或者重启仍能找到该节点。
  3. 临时性znode集群宕机或者客户端在一定时间内未对该节点发消息,该节点就会被删除。
  4. znode节点也可以是顺序性的,每一个顺序性的znode关联一个唯一的单调递增整数,该整数是znode的名称后缀。持久性znode和临时性znode都可以是顺序性的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: