Zookeeper理論基礎之zk含義及如何保證一致性

1、Zookeeper理論基礎

1.1、Zookeeper含義

    Zookeeper是一個分佈式協調應用程序服務器,其爲分佈式系統提供一致性服務。其一致性是通過Paxos算法的ZAB協議完成的。其主要功能包括:配置維護、域名服務、分佈式同步、集羣管理等。

下圖是官網解釋:

 

1.2、zookeeper如何保證一致性

       zk是如何保證分佈式系統一致性呢?是因爲zk是具有以下幾方面原因:

1.2.1 順序一致性

     從同一個客戶端發起多個事務請求(寫操作請求),最終會被嚴格按照發起順序記錄到zk中。

1.2.2 原子性

      所有事務請求的結果在集羣中所有主機的應用結果都是一致的。要麼都應用成功,要麼都運用失敗。

1.2.3 單一視圖

       無論client連接的是zk集羣中的哪臺機器,其看的的數據模型都是一致的。

1.2.4 可靠性

       一旦zk成功執行了某個事務,則其引發的服務器狀態變化會被一直保留下來,直到另一個事務將其改變。

1.2.5 最終一致性

       一旦zk成功執行了某個事務,zk可以保證在很短的時間後,客戶端最終可以從任意的zk主機上讀取到最新的數據。但不能保證實時讀取。

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