保证
顺序一致性
来自客户端的更新将按照发送的顺序应用。
原子性
更新要么成功,要么失败。没有部分结果。
单一系统映像
无论客户端连接到哪个服务器,客户端都将看到相同的服务视图。即使客户端故障转移到具有相同会话的不同服务器,客户端也永远不会看到系统的旧视图。
可靠性
一旦应用更新,它将从那时起持续存在,直到客户端覆盖更新。
及时性
保证系统的客户视图在一定的时间范围内是最新的。
数据模型
ZooKeeper 使用文件系统模型主要基于以下两点考虑;
文件系统的树形结构便于表达数据之间的层次关系。
文件系统的树形结构便于为不同的应用分配独立的命名空间。
znode 分类
持久性
创建之后即使集群宕机或者 client 宕机也不会丢失。
临时性
client 宕机或者 client在指定的 timeout 时间内没有给集群发消息,这样的znode就会消失。
顺序持久性
除了具备持久性的特点外,名字具备顺序性。
临时顺序
除了具备临时性的特点外,名字具备顺序性。
有条件的更新和监视
客户端可以在 znode 上设置监视。当 znode 发生变化时,watch 将被触发并移除。当触发监视时,客户端会收到一个数据包,表明 znode 已更改。如果客户端和其中一台 ZooKeeper 服务器之间的连接断开,客户端将收到本地通知。
3.6.0 中的新增功能:客户端还可以在 znode 上设置永久的递归监视,这些监视在触发时不会被删除,并且会递归地触发已注册 znode 以及任何子 znode 上的更改。
评论区