美文网首页
ZooKeeper从入门到精通3:ZooKeeper的操作原语

ZooKeeper从入门到精通3:ZooKeeper的操作原语

作者: 金字塔下的小蜗牛 | 来源:发表于2020-04-07 13:18 被阅读0次

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可以被看做是一个文件系统,但是出于便利,摒弃了一些文件系统的操作原语。因为文件非常小并且使整体读写的,所以不需要打开、关闭或是寻址的操作。

相关文章

网友评论

      本文标题:ZooKeeper从入门到精通3:ZooKeeper的操作原语

      本文链接:https://www.haomeiwen.com/subject/krmkdhtx.html