最近有些同学过来问我如何判断zookeeper的节点是持久节点还是临时节点?其实很简单,接下来我们就来看看判断方法。
zookeeper 持久节点:该数据节点被创建后,就会一直存在于zookeeper服务器上,直到有删除操作来主动删除这个节点。
zookeeper临时节点:临时节点的生命周期和客户端会话绑定在一起,客户端会话失效,则这个节点就会被自动清除。
我们执行 sh zkCli.sh -server 127.0.0.1:2181登录zookeeper,分别创建一个持久节点和临时节点。
create /yujie-persistent "" //创建持久节点
create -e /yujie-ephemeral "" // 创建临时节点
接下来我们用get命令 查看节点的Stat数据结构信息
其中有一个字段是ephemeralOwner意思是这个节点的临时拥有者
当ephemeralOwner 值不为0时,表明这个节点是临时节点,值为会话id.
当ephemeralOwner 值为0时,表明这个节点是持久节点。.
=============================================
节点有两个维度,一个是永久的还是临时的,另一个是否有序。组合成的四种类型如下:
1:PERSISTENT // 持久化节点
2:PERSISTENT_SEQUENTIAL // 持久化排序节点
3:EPHEMERAL // 临时节点
4:EPHEMERAL_SEQUENTIAL // 临时排序节点
永久节点:节点创建后会被持久化,只有主动调用delete方法的时候才可以删除节点。
临时节点:节点创建后在创建者超时连接或失去连接的时候,节点会被删除。临时节点下不能存在字节点。
排序节点:创建的节点名称后自动添加序号,如节点名称为"node-",自动添加为"node-1",顺序添加为"node-2"...
---------------------
原文:https://blog.csdn.net/daobaliangbanana2/article/details/81626977
原文:https://blog.csdn.net/u011784767/article/details/74529887