一、節點有兩個維度,一個是永久的還是臨時的,另一個是否有序。組合成的四種類型如下:
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,持久化有序節點:使用場景少,用於復雜業務中有序的獲取資源;