Zookeeper服务的使用

1.简介
应用通常使用的是zookeeper 客户端的服务。 zookeeper 客户端负责和zookeeper 服务端进行交互。

2.数据模型
Zookeeper 的数据模型是层次模型。 层次模型常见于文件系统. Zookeeper 使用文件系统模型主要基于以下两点考虑。

  1. 文件系统的树形结构便于表达数据之间的层次关系。
  2. 文件系统的属性结构便于为不同的应用分配独立的命名空间
    Zookeeper的层次模型称为 data tree. Data tree 的每个节点叫做 znode. 不同于文件系统, 每个节点都能保存数据。每个节点都有一个版本,版本的序号从零开始。

3. data tree 接口
Zookeeper 对外提供一个用来访问data tree 的简化文件系统API。

  • 使用UNIX 风格的路径来定位znode, 例如/A/X 表示znodeA 的子节点X.
  • znode 的数据只支持全量写入和读取,没有像通用文件系统那样支持部分写入和读取。
  • data tree 的所有API 都是 wait-free 的。 正在执行中的API调用不会影响其他API的完成
  • data tree 的API 都是对文件系统的wait-free 操作,不直接提供锁这样的分布式协同机制, 但是data tree 的API 非常强大, 可以用来实现多种分布式协同机制。

4. znode 分类
一个znode 可以是持久性的也可以是临时性的:

  1. 持久性的znode: 这样的znode 在创建之后即使发生zookeeper 集群宕机或者client宕机也不会丢失。
  2. 临时性的znode: client 宕机或者client 在指定的timeout 时间内没有给zookeeper 集群发送消息, 这样的znode 就会消失。

znode 也可以是顺序性的 每一个 顺序性的znode 关联一个唯一一个 的单调递增整数。 这个单调递增整数是znode 名字后缀。如果上面两种znode 具备顺序性,又有一下两种znode:

  1. 持久顺序性的znode : znode 除了具备持久性的znode 的特点之外 znode 的名字应该具备顺序性。
  2. 临时顺序性的znode: znode 除了具备临时性znode 的特点之外, znode 的名字具备顺序性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值