如何判斷zookeeper節點是持久節點還是臨時節點

最近有些同學過來問我如何判斷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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章