一、节点有两个维度,一个是永久的还是临时的,另一个是否有序。组合成的四种类型如下:
1:PERSISTENT // 持久化节点 , 节点创建后会被持久化,只有主动调用delete方法的时候才可以删除节点。
2:PERSISTENT_SEQUENTIAL // 持久化排序节点, 排序节点:创建的节点名称后自动添加序号,如节点名称为"node-",自动添加为"node-1",顺序添加为"node-2"
3:EPHEMERAL // 临时节点, 临时节点:节点创建后在创建者超时连接或失去连接的时候,节点会被删除。临时节点下不能存在字节点。
4:EPHEMERAL_SEQUENTIAL // 临时排序节点, 排序节点:创建的节点名称后自动添加序号,如节点名称为"node-",自动添加为"node-1",顺序添加为"node-2"
二. 四种节点的应用场景
1,零时节点:常见的dubbo架构中service服务的注册,分布式锁(原理后面文章会讲解【--创建相同节点时返回false】)
2,零时有序节点:用于分布式锁实现复杂业务有序处理;
3,持久化节点:用于长连接;如用zk来管理数据库创建持久化节点可以避免频繁与数据库的交互,而带来的资源消耗;持久化节点也有弊端:不能及时的获取最新的资源;
4,持久化有序节点:使用场景少,用于复杂业务中有序的获取资源;
原文:https://www.cnblogs.com/Jomini/p/13812344.html