zookeeper-一致性

分佈式框架CAP,大家都知道,zookeeper可以保證狀態同步服務(一致性),能作分佈式鎖

  • C:Consistency,一致性,數據一致更新,所有數據變動都是同步的
  • A:Availability,可用性,系統具有好的響應性能
  • P:Partition tolerance,分區容錯性

 

一致性分爲 五個 級別:

強一致性: 保證每次讀取到的數據,都是最近一次更新的數據(最新的數據)

單調一致性:任何時刻讀取到某個時刻更新的某個值,那麼就再也不會讀取到比這個時刻還舊的值(就好比數組的遍歷,每次的下標都最新的)

會話一致性:功能和單調一致性一樣,只是範圍更加縮小了,表示的是單個用戶的單個會話

最終一致性:用戶可以讀取到某個時間更新後的值,但系統可以保證這個值最終將會被更新爲最新的值(達到一致的狀態),但是時間無法保證

弱一致性:無法在確定的時間內獲取到最新更新的值

 

那麼zookeeper是屬於什麼一致性?

單調一致性

原因:

        1. 假設有2n+1個server,在同步流程中,leader向follower同步數據,當同步完成的follower數量大於 n+1時同步流程結束,系統可接受client的連接請求。如果client連接的並非同步完成的follower,那麼得到的並非最新數據,但可以保證單調性。

         2. follower接收寫請求後,轉發給leader處理;leader完成兩階段提交的機制。向所有server發起提案,當提案獲得超過半數(n+1)的server認同後,將對整個集羣進行同步,超過半數(n+1)的server同步完成後,該寫請求完成。如果client連接的並非同步完成的follower,那麼得到的並非最新數據,但可以保證單調性。

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