侧边栏壁纸
  • 累计撰写 43 篇文章
  • 累计创建 9 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

ZooKeeper特性以及数据结构

landonchan
2022-01-08 / 0 评论 / 0 点赞 / 8 阅读 / 3542 字
温馨提示:
欢迎留言讨论!若内容或图片失效,请留言反馈。若不小心影响到您的利益,请联系我们删除。

保证

顺序一致性

来自客户端的更新将按照发送的顺序应用。

原子性

更新要么成功,要么失败。没有部分结果。

单一系统映像

无论客户端连接到哪个服务器,客户端都将看到相同的服务视图。即使客户端故障转移到具有相同会话的不同服务器,客户端也永远不会看到系统的旧视图。

可靠性

一旦应用更新,它将从那时起持续存在,直到客户端覆盖更新。

及时性

保证系统的客户视图在一定的时间范围内是最新的。

数据模型

ZooKeeper 使用文件系统模型主要基于以下两点考虑;

  1. 文件系统的树形结构便于表达数据之间的层次关系。

  2. 文件系统的树形结构便于为不同的应用分配独立的命名空间。

znode 分类

持久性

创建之后即使集群宕机或者 client 宕机也不会丢失。

临时性

client 宕机或者 client在指定的 timeout 时间内没有给集群发消息,这样的znode就会消失。

顺序持久性

除了具备持久性的特点外,名字具备顺序性。

临时顺序

除了具备临时性的特点外,名字具备顺序性。

有条件的更新和监视

  1. 客户端可以在 znode 上设置监视。当 znode 发生变化时,watch 将被触发并移除。当触发监视时,客户端会收到一个数据包,表明 znode 已更改。如果客户端和其中一台 ZooKeeper 服务器之间的连接断开,客户端将收到本地通知。

  2. 3.6.0 中的新增功能:客户端还可以在 znode 上设置永久的递归监视,这些监视在触发时不会被删除,并且会递归地触发已注册 znode 以及任何子 znode 上的更改。

0

评论区