Zookeeper學習記錄

一,什麼是zookeeper?

Zookeeper是一個高性能,開源的分佈式協調服務的應用,它提供了許多功能,使分佈式應用可以基於它實現更高級的服務。它的出現可以使我們更好的治理分佈式服務。

爲什麼需要一個東西來協調服務呢~~~ 下面的這張圖有很好的說明?


圖中每輛車,都可以當做一個服務。當服務太多而又沒有一個特定的東西進行管理的時候,所有的服務都會亂一團。然而解決上圖的麻煩就是需要一個紅綠燈,或者一名交警來進行管理, Zokkeeper在分佈式服務中就充當了紅綠燈和交警的服務,對通過dubbo發佈的服務進行治理.

二、分佈式系統的協調

協調:多個節點一起完成的工作

例如:(協調方式)

o 集羣成員管理:集羣中有多少個節點,節點中有多少臺機器,(分佈式系統中需要自動的發現成員)

   o 鎖:多臺服務器間的分佈式鎖,分佈式系統中必須要用鎖來保證數據一致性

    o 選主

    o 同步:數據一致性,數據發生變化後要同步到各個機器,數據的版本要一致

    o 發佈/訂閱

三,數據模型


Zookeeper典型的應用場景

1.服務的發佈和訂閱

服務通過配置中心將數據服務發佈到zookeeper的一個或者一系列節點上面,訂閱者進行服務訂閱,當數據有變化的時候,zookeeper會及時的通知數據變化。


2.負載均衡

本質是利用zookeeper的配置管理功能,步驟如下:



命名服務的實際效果可以參考負載均衡第2條,都是通過ip和端口號來進行尋找並使用對應的服務。

4.分佈式協調/通知(下面的內容詳情別的文檔)


5.集羣管理


6.Master選舉


7.分佈式鎖

以上的即爲zokkeeper的運用場景詳細內容下回記錄
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章