zookeeper的四种节点:临时、临时顺序、持久、持久顺序特点详解

目录

1、zookeeper的四种节点总结

2、临时节点特点测试

2.1 session链接断开就没了

2.2 不能创建子节点

2.3  不允许同名节点

3 临时顺序节点测试

3.1 session断链就没了

3.2 不能有子节点

3.3 同名节点会在后面加上序号(分布式锁使用的优点)

4、持久节点的特点

4.1 不能同名

4.2 持久化保存(session断联、服务端重启)

4.3 可以创建子节点

5、持久顺序节点特点

5.1 同名会加上序号

5.2 持久化保存(session断联、服务端重启)

5.3 可以创建子节点


1、zookeeper的四种节点总结

临时节点(EPHEMERAL)session链接断开就没了不能创建子节点不能同名

临时顺序节点(EPHEMERAL_SEQUENTIAL)session链接断开就没了不能创建子节点同名节点会在后面添加上序号(分布式锁使用的好处)

持久节点(PERSISTENT):session断联、服务端重启还在可以创建子节点,子节点可以临时也可以持久不能同名

持久顺序节点(PERSISTENT_SEQUENTIAL):session断联、服务端重启还在可以创建子节点,子节点可以临时也可以持久同名节点会在后面添加上序号

2、临时节点特点测试

链接服务端:zkCli.cmd -timeout 5000 -r -server localhost:21810

2.1 session链接断开就没了

[zk: localhost:21810(CONNECTED) 15] create -e /temp 1
Created /temp
[zk: localhost:21810(CONNECTED) 16] ls /
[temp]
[zk: localhost:21810(CONNECTED) 17]
断开session链接
[zk: localhost:21810(CONNECTED) 16] ls /
[]
[zk: localhost:21810(CONNECTED) 17]

2.2 不能创建子节点

[zk: localhost:21810(CONNECTED) 17] ls /
[temp]
[zk: localhost:21810(CONNECTED) 18] create -e /temp/child 1
Ephemerals cannot have children: /temp/child
[zk: localhost:21810(CONNECTED) 19]

2.3  不允许同名节点

[zk: localhost:21810(CONNECTED) 17] ls /
[temp]
[zk: localhost:21810(CONNECTED) 19] create -e /temp 1
Node already exists: /temp
[zk: localhost:21810(CONNECTED) 20]

3 临时顺序节点测试

3.1 session断链就没了

[zk: localhost:21810(CONNECTED) 22] create -e -s /temp2 1
Created /temp20000000011
断线重连,数据就没了
[zk: localhost:21810(CONNECTED) 0] ls /
[]
[zk: localhost:21810(CONNECTED) 1]

3.2 不能有子节点

[zk: localhost:21810(CONNECTED) 22] create -e -s /temp2 1
Created /temp20000000011
[zk: localhost:21810(CONNECTED) 23] create -e -s /temp2/t1 1
Node does not exist: /temp2/t1
[zk: localhost:21810(CONNECTED) 24] create -e /temp2/t1 1
Node does not exist: /temp2/t1

3.3 同名节点会在后面加上序号(分布式锁使用的优点)

[zk: localhost:21810(CONNECTED) 1] create -e -s /temp 1
Created /temp0000000012
[zk: localhost:21810(CONNECTED) 2] create -e -s /temp 1
Created /temp0000000013
[zk: localhost:21810(CONNECTED) 3] create -e -s /temp 1
Created /temp0000000014

4、持久节点的特点

4.1 不能同名

[zk: localhost:21810(CONNECTED) 8] create /a 123
Created /a
[zk: localhost:21810(CONNECTED) 11] ls /
[a]
[zk: localhost:21810(CONNECTED) 12] create /a 123
Node already exists: /a
[zk: localhost:21810(CONNECTED) 13]

4.2 持久化保存(session断联、服务端重启)

[zk: localhost:21810(CONNECTED) 8] create /a 123
Created /a
[zk: localhost:21810(CONNECTED) 11] ls /
[a]
session重连,服务端重启,持久节点还有
[zk: localhost:21810(CONNECTED) 1] ls /
[a]
[zk: localhost:21810(CONNECTED) 2]

4.3 可以创建子节点

[zk: localhost:21810(CONNECTED) 6] create /a/b 123
Created /a/b

5、持久顺序节点特点

5.1 同名会加上序号

[zk: localhost:21810(CONNECTED) 9] create -s /d 123
Created /d0000000017
[zk: localhost:21810(CONNECTED) 10] create -s /d 123
Created /d0000000018
[zk: localhost:21810(CONNECTED) 11]

5.2 持久化保存(session断联、服务端重启)

[zk: localhost:21810(CONNECTED) 12] ls /
[d0000000017, d0000000018]
断联、服务端重启
[zk: localhost:21810(CONNECTED) 1] ls /
[d0000000017, d0000000018]
[zk: localhost:21810(CONNECTED) 2]

5.3 可以创建子节点

临时子节点和持久子节点都可以

[zk: localhost:21810(CONNECTED) 4] create -e /d0000000017/t 1
Created /d0000000017/t
[zk: localhost:21810(CONNECTED) 5] create /d0000000017/t1 2
Created /d0000000017/t1
[zk: localhost:21810(CONNECTED) 6]

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值