1. 程式人生 > >zookeeper 入門知識

zookeeper 入門知識

sta 表示 配置 開啟 bsp 微軟 備份 job art

作為開啟分布式架構的基石,除了必會還有的選麽

自己的一些理解,有錯誤的話請一定要給予指正!

一、是什麽?

分布式數據一致性的解決方案。

二、有什麽用

數據的發布/訂閱(配置中心) 負載均衡(dubbo利用了zookeeper機制實現負載均衡) 、命名服務、

master選舉(kafka、hadoop、hbase)、分布式隊列、分布式鎖。

zookeeper入門知識

1.CAP理論和BASE理論

參考文獻: http://www.jdon.com/bigdata/how-to-understand-cap.html

分布式系統的CAP理論:理論首先把分布式系統中的三個特性進行了如下歸納:
● 一致性(C):在分布式系統中的所有數據備份,在同一時刻是否同樣的值。(等同於所有節點訪問同一份最新的數據副本) ● 可用性(A):在集群中一部分節點故障後,集群整體是否還能響應客戶端的讀寫請求。(對數據更新具備高可用性) ● 分區容錯性(P):以實際效果而言,分區相當於對通信的時限要求。系統如果不能在時限內達成數據一致性,就意味著發生了分區的情況,必須就當前操作在C和A之間做出選擇。 關於CA沖突的理解:C 要求備份完才返回,保證數據一致(有故障則失敗),而A不考慮數據同步的情況,會導致數據出現臟數據 base理論是在cap理論上升級,ba 表示基本可用, s表示soft-state,指的是 在基於
client-server模式的系統中,server端有狀態,即可以知道當前節點的同步情況.e指的是最終一致性(最終同步) 2.zookeeper的數據模型 參考文獻:https://blog.csdn.net/yin380697242/article/details/52293761 樹形結構 znode(節點),可被監聽,且名字同級唯一 節點類型分為: PERSISTENT(持久節點,服務斷開任然存在) PERSISTENT_SEQUENTIAL(例如:持久序列/test0000000019 即有序持久節點)
EPHEMERAL(臨時節點,服務斷開,節點消失)
EPHEMERAL_SEQUENTIAL(臨時有序節點)
3.zookeeper 特性
3.1 順序一致性,

從同一個客戶端發起的事務請求(增刪改),最終會嚴格按照順序被應用到zookeeper中(隊列,fifo)

3,2原子性

所有的事務請求的處理結果在整個集群中的所有機器上的應用情況是一致的,也就是說,要麽整個集群中的所有機器都成功應用了某一事務、

要麽全都不應用

3.3可靠些

一旦服務器成功應用了某一個事務數據,並且對客戶端做了響應,那麽這個數據在整個集群中一定是同步並且保留下來的

3.4實時性

一旦一個事務被成功應用,客戶端就能夠立即從服務器端讀取到事務變更後的最新數據狀態;(zookeeper僅僅保證在一定時間內,近實時)

4.zab協議(角色,Paxos算法,選主過程)

參考文獻:http://blog.jobbole.com/104985/

zab主要是消息廣播和崩潰恢復...

zookeeper 入門知識