ZooKeeper的工作原理

2021-07-11 02:21:08 字數 570 閱讀 2009

zookeeper是乙個分布式的,開放原始碼的分布式應用程式協調服務,它包含乙個簡單的原語集,分布式式應用程式可以基於它實現同步服務,配置維護和命名服務等。zookeeper是hadoop的乙個子專案。在分布式應用中,由於工程師不能很好的使用鎖機制,以及基於訊息的協調機制不適合在某些應用中使用,因此需要一種可靠的、可擴充套件的、分布式的、可配置的協調機制來統一系統的狀態。zookeeper目的於此。

zookeeper核心

zookeeper的核心是原子廣播,這個機制保證了各個server之間的同步。這個機制由zab協議實現。

zab協議

zab協議有兩種模式,它們分別是恢復模式(選主)和廣播模式(同步)。當服務啟動或者在領導者崩潰後,zab就進入了恢復模式,當領導者被選舉出來,且大多數server完成了和leader的狀態同步以後,恢復模式就結束了。狀態同步保證了leader和server具有相同的系統狀態。

實現事務一致性

為了保證事務的順序一致性,zookeeper採用了遞增的事務id號(zxid)來標識事務。所有的提議(proposal)都在被提出的時候加上了zxid。

每個server在工作過程中有三種狀態:

zookeeper的工作原理

zookeeper的核心是原子廣播,這個機制保證了各個server之間的同步。實現這個機制的協議叫做zab協議。zab協議有兩種模式,它們分別是恢復模式和廣播模式。當服務啟動或者在領導者崩潰後,zab就進入了恢復模式,當領導者被選舉出來,且大多數server的完成了和leader的狀態同步以後,恢復...

Zookeeper的工作原理

zookeeper使用了zab zookeeper atomic broadcast 協議,進行了訊息廣播,崩潰恢復,資料同步 基於該協議,zookeeper 實現了一種主備模式的系統架構來保持集群中各個副本之間的資料一致性,同時其崩潰恢復過程也確保zk集群的高可用性,所以leader是主,foll...

Zookeeper之工作原理

zookeeper是乙個分布式的,開放原始碼的分布式應用程式協調服務,它包含乙個簡單的原語集,分布式應用程式可以基於它實現同步服務,配置維護和命名服務等。zookeeper是hadoop的乙個子專案,其發展歷程無需贅述。在分布式應用中,由於工程師不能很好地使用鎖機制,以及基於訊息的協調機制不適合在某...