- ZooKeeper从入门到精通3:ZooKeeper的操作原语
- 【从入门到放弃-ZooKeeper】ZooKeeper实战-分布
- ZooKeeper从入门到精通1:ZooKeeper简介
- ZooKeeper从入门到精通12:ZooKeeper Serv
- ZooKeeper从入门到精通7:ZooKeeper的leade
- ZooKeeper从入门到精通11:ZooKeeper的zkCl
- Dubbo入门学习--Dubbo简单示例(2)
- ZooKeeper从入门到精通5:使用ZooKeeper实现分布
- ZooKeeper从入门到精通13:使用ZooKeeper实现H
- ZooKeeper从入门到精通6:ZooKeeper的应用场景
1.ZooKeeper的操作原语
在ZooKeeper中提供了9种基本操作:
- create:创建一个Znode节点,父节点必须存在;
- delete:删除一个Znode节点,下面不能有子节点;
- exists:判断一个Znode是否存在,存在时返回元数据;
- getACL:获取Znode的ACL(访问控制列表);
- setACL:设置Znode的ACL(访问控制列表);
- getChildren:获取Znode的所有子节点的列表;
- getData:获取Znode的相关数据;
- setData:设置Znode的相关数据;
- sync:是客户端的Znode视图与ZooKeeper同步;
更新ZooKeeper操作是有限制的。delete或setData必须明确要更新的Znode的版本号,我们可以调用exists找到。如果版本号不匹配,更新将会失败。
更新ZooKeeper操作是非阻塞式的。因此客户端如果失去了一个更新(由于另一个进程在同时更新这个Znode),他可以在不阻塞其他进程执行的情况下,选择重新尝试或进行其他操作。
尽管ZooKeeper可以被看做是一个文件系统,但是出于便利,摒弃了一些文件系统的操作原语。因为文件非常小并且使整体读写的,所以不需要打开、关闭或是寻址的操作。
网友评论