一、zk簡介說明
zk是一個高效的分布式協調服務,他暴露了一些共用服務,比如命名、配置、管理、同步控制、群組服務等我們可以使用zk來實現比如打成共識,集群管理、leader選舉等。
zk是一個高可用的分布式管理與協調框架,基于ZAB(原子消息廣播協議)的實現。該框架能夠很好地保證分布式環境中數據的一致性。也正是基于這樣的特性。
順序的一致性:從一個客戶端發起事物請求。最終將會嚴格地按照其發起的順序被應用到zk中去。
原子性:所書事物請求的處理結果在整個集群中國所有機器上的應用情況是一致的。也就是說。要么整個集群所有的機器都能成功應用到了某一事物。要么有沒有應用,不一定會出現部分的機器應用到了該事物,而一部分沒有應用的情況。
單一視圖:無論客戶端連接是哪一個zk服務器,其看到的服務器數據模型都是一致的。
可靠性:一旦服務器成功地應用了一個事物。并完成對客戶端的響應.那么該事物所引起的服務端狀態將會被一致保留下來。除非有另外一個事物對其更改。
實時性:通常所說的實時性就是指一旦事物被成功應用,那么客服端就能立刻從服務器上獲取變更的數據、zk僅僅能保證在一段時間內。客服端最終一定能從服務器讀取最新的數據狀態。