說到分布式開發(fā)Zookeeper是必須了解和掌握的,分布式消息服務kafka 、hbase 到hadoop等分布式大數(shù)據(jù)處理都會用到Zookeeper,所以在此將Zookeeper作為基礎來講解。

   Zookeeper 是分布式服務框架,主要是用來解決分布式應用中經(jīng)常遇到的一些數(shù)據(jù)管理問題,如:統(tǒng)一命名服務、狀態(tài)同步服務、集群管理、分布式應用配置項的管理等等。

  Zookeeper 的核心是廣播,這個機制保證了各個Server之間的同步。實現(xiàn)這個機制的協(xié)議叫做Zab協(xié)議。
  Zab協(xié)議有兩種模式,它們分別是恢復模式(選主)和廣播 模式(同步)。當服務啟動或者在領導者崩潰后,Zab就進入了恢復模式,當領導者被選舉出來,且大多數(shù)Server完成了和leader的狀態(tài)同步以后, 恢復模式就結束了。
  狀態(tài)同步保證了leader和Server具有相同的系統(tǒng)狀態(tài)。為了保證事務的順序一致性,zookeeper采用了遞增的事務id號 (zxid)來標識事務。
  所有的提議(proposal)都在被提出的時候加上了zxid。實現(xiàn)中zxid是一個64位的數(shù)字,它高32位是epoch用 來標識leader關系是否改變,每次一個leader被選出來,它都會有一個新的epoch,標識當前屬于那個leader的統(tǒng)治時期。低32位用于遞 增計數(shù)。
  每個Server在工作過程中有三種狀態(tài):
  LOOKING:當前Server不知道leader是誰,正在搜尋。
  LEADING:當前Server即為選舉出來的leader。
  FOLLOWING:leader已經(jīng)選舉出來,當前Server與之同步。

移動開發(fā)培訓,Android培訓,安卓培訓,手機開發(fā)培訓,手機維修培訓,手機軟件培訓

 

  ZooKeeper的安裝模式分為三種,分別為:單機模式、集群模式和集群偽分布模式

網(wǎng)友評論