Znode节点类型
持久节点(PERSISTENT)
持久顺序节点(PERSISTENT_SEQUENTIAL)
临时节点(EPHEMERAL)
临时顺序节点(EPHEMERAL_SEQUENTIAL)
persistent
adj.
持久的;持续的;坚持不懈的;执著的;不屈不挠的;连绵的;反复出现的
派生词: persistently adv.
ephemeral
adj.
短暂的;瞬息的
n.
生命短暂的事物;短生植物
sequential
adj.
连续的;顺序的,按次序的;相继的;序列的;作为结果产生的,随之而来的;(避孕丸)按期服用以消除副作用的
持久节点与临时节点的区别
#创建持久节点
[zk: localhost:2181(CONNECTED) 1] create /persistent data
Created /persistent
#创建临时节点
[zk: localhost:2181(CONNECTED) 2] create -e /ephemeral data
Created /ephemeral
# 第1次ls /
[zk: localhost:2181(CONNECTED) 3] ls /
[ephemeral, zookeeper, wusp, persistent]
#退出客户端
[zk: localhost:2181(CONNECTED) 4] quit
[ephemeral, zookeeper, wusp, persistent]
# 第2次ls /
[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper, wusp, persistent]
第一点区别:新增临时节点,退出客户端后这个节点就被删除了,所以临时节点会话结束后(即断开连接后)会被删除
#重新创建临时节点
[zk: localhost:2181(CONNECTED) 2] create -e /ephemeral data
Created /ephemeral
[zk: localhost:2181(CONNECTED) 3] ls /
[ephemeral, zookeeper, wusp, persistent]
#在persistent节点下创建临时子节点child
[zk: localhost:2181(CONNECTED) 4] create -e /persistent/child data
Created /persistent/child
#在persistent节点下创建持久子节点child2
[zk: localhost:2181(CONNECTED) 7] create /persistent/child2 data
Created /persistent/child2
#在ephemeral节点下创建持久子节点child
[zk: localhost:2181(CONNECTED) 6] create /ephemeral/child data
Ephemerals cannot have children: /ephemeral/child
#在ephemeral节点下创建临时子节点child
[zk: localhost:2181(CONNECTED) 5] create -e /ephemeral/child data
Ephemerals cannot have children: /ephemeral/child
第二点区别:持久节点可以创建子节点,临时节点无法创建子节点
节点带序号与不带序号的区别
#第一次创建 /sequential节点
[zk: localhost:2181(CONNECTED) 8] create -s /sequential data
Created /sequential0000000008
#第二次创建 /sequential节点
[zk: localhost:2181(CONNECTED) 9] create -s /sequential data
Created /sequential0000000009
#第一次创建 /pesistent节点
[zk: localhost:2181(CONNECTED) 10] create /pesistent data
Created /pesistent
#第二次创建 /pesistent节点,报错了
[zk: localhost:2181(CONNECTED) 11] create /pesistent data
Node already exists: /pesistent
区别:带序号的节点,path后面自动加入序号,这序号是自动递增的,无法指定。不带序号的节点,执行命令无法超过两次