数是由节点组成,Zookeeper的数据存储也同样基于节点,这种节点叫做Znode(每个节点数据不能查过1Mb)
Znode的引用方式是路径引用,类似文件路径
Znode包含哪些元素:
data:Znode存储的数据信息
ACL:记录Znode的访问权限,即哪些ip可以访问本节点
stat:包含Znode的各种元数据,比如版本号,时间戳
child:当前节点的子节点
Znode四种状态
持久节点
持久节点有序节点
临时节点
临时节点有序节点
ZooKeeper基本操作:
1、创建节点:create
2、删除节点:delete
3、设置节点数据:setData
4、获取节点数据:getData
5、获取节点下的所有子节点:getChildren
6、判断节点是否存在:exist
这其中exist,getData,getChildren属于读操作,Zookeeper客户端在请求读操作的时候,可以选择是否设置Watch
我们可以把watch理解成注册在特定Znode上的触发器,当这个Znode发生改变,也就是调用create delte setData等写操作时候,将会触发Znode上注册的对应的事件,请求Watch的客户端会接收到异步通知
Zookeeper身为分布式系统协调服务,如果自身挂了如何处理?
为了反正单机挂掉情况,Zookeeper维护了一个集群