1. 程式人生 > >Zookeeper學習筆記六之版本號

Zookeeper學習筆記六之版本號

版本號

每一個znode都有一個版本號,它隨著每次資料變化而自增。兩個API操作可以有條件地執行:setData和delete。這兩個呼叫以版本號作為轉入引數,只有當轉入引數的版本號與伺服器上的版本號一致時呼叫才會成功。當多個Zookeeper客戶端對同一個znode進行操作時,版本的作用就會顯得尤為重要。例如,客戶端C1對znode/config寫入了一些配置資訊,如果另一個客戶端C2同時更新了這個znode,此時C1的版本過期,C1的setData一定不會成功。使用版本機制避免了資料寫入混亂情況,下圖描述此情況