zookeeper知識整理

2021-09-28 20:24:49 字數 1212 閱讀 6490

zookeeper 是什麼?

zookeeper 是乙個分布式的,開放原始碼的分布式應用程式協調服務,是 google chubby 的開源實現,是 hadoop 和 hbase 的重要元件。它是乙個為分布式應用提供一致性服務的軟體,提供的功能包括:配置維護、網域名稱服務、分布式同步、組服務等。

158. zookeeper 都有哪些功能?

集群管理:監控節點存活狀態、執行請求等。

主節點擊舉:主節點掛掉了之後可以從備用的節點開始新一輪選主,主節點擊舉說的就是這個選舉的過程,使用 zookeeper 可以協助完成這個過程。

分布式鎖:zookeeper 提供兩種鎖:獨佔鎖、共享鎖。獨佔鎖即一次只能有乙個執行緒使用資源,共享鎖是讀鎖共享,讀寫互斥,即可以有多線執行緒同時讀同乙個資源,如果要使用寫鎖也只能有乙個執行緒使用。zookeeper可以對分布式鎖進行控制。

命名服務:在分布式系統中,通過使用命名服務,客戶端應用能夠根據指定名字來獲取資源或服務的位址,提供者等資訊。

159. zookeeper 有幾種部署模式?

zookeeper 有三種部署模式:

單機部署:一台集群上執行;

集群部署:多台集群執行;

偽集群部署:一台集群啟動多個 zookeeper 例項執行。

160. zookeeper 怎麼保證主從節點的狀態同步?

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

161. 集群中為什麼要有主節點?

在分布式環境中,有些業務邏輯只需要集群中的某一台機器進行執行,其他的機器可以共享這個結果,這樣可以大大減少重複計算,提高效能,所以就需要主節點。

162. 集群中有 3 臺伺服器,其中乙個節點宕機,這個時候 zookeeper 還可以使用嗎?

可以繼續使用,單數伺服器只要沒超過一半的伺服器宕機就可以繼續使用。

163. 說一下 zookeeper 的通知機制?

客戶端端會對某個 znode 建立乙個 watcher 事件,當該 znode 發生變化時,這些客戶端會收到 zookeeper 的通知,然後客戶端可以根據 znode 變化來做出業務上的改變。

zookeeper筆記整理(一)

單體架構到分布式集群架構帶來各種服務之間的呼叫,有直接http呼叫與rpc呼叫等 1.雖然現在服務間的呼叫越來越多地使用了 rpc 和訊息佇列,但是 http 依然有適合它的場景。rpc 的優勢在於高效的網路傳輸模型 常使用 nio 來實現 netty等 以及針對服務呼叫場景專門設計協議和高效的序列...

Zookeeper 簡單知識梳理

我有幾張阿里雲幸運券分享給你,用券購買或者公升級阿里雲相應產品會有特惠驚喜哦!把想要買的產品的幸運券都領走吧!快下手,馬上就要搶光了。一旦乙個更新操作被應用,那麼在客戶端再次更新它之前,它的值將不會改變.這個保證會產生兩種結果 如果客戶端成功獲得了正確的返回資料,那麼說明更新已經成功,如果不能夠返回...

zookeeper的基礎知識

簡介 zookeeper是乙個分布式開源框架,提供了協調分布式應用的基本服務,它向外部應用暴露一組通用服務 分布式同步 distributed synchronization 命名服務 naming service 集群維護 group maintenance 等,簡化分布式應用協調及其管理的難度,...