ZooKeeper的概念原理

2021-07-11 02:21:08 字數 948 閱讀 4308

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

角色zookeeper中的角色主要分三類,如下:

角色描述

領導者(leader)

負責投票的發起和決議,更新系統狀態

跟隨著(follower)

接收客戶請求並向客戶端返回結果,在選主過程中參與投票

觀察者(observer)

可以接收客戶端連線,將請求**給leader節點,observer不參與投票過程,只同步leader的狀態。observer目的為了擴充套件系統,提高讀取速度

設計目的

最終一致性:client不論連線到哪個server,展示的都是同乙個檢視,這是zookeeper最重要的效能

可靠性:簡單、健壯、良好的效能,如果訊息m被一台伺服器接受,將被所有伺服器接受

實時性:zookeeper保證客戶端將在乙個時間間隔範圍內獲得伺服器的更新訊息,或者伺服器的實效的資訊。但由於網路延時等原因,zookeeper不能保證兩個客戶端能同時得到更新的資料,如果需要更新資料,應該在資料之前呼叫sync()介面

等待無關(wait-free):慢的或者失效的client不得干預快速的client請求,使得每個client都能有效的等待。

原子性:更新只能成功或者失敗,沒有中間狀態

順序性:包括全域性有序或者偏序兩種,全域性有序是指如果單台伺服器上訊息a在訊息b前發布,則在所有server上訊息a都將在訊息b前被發布;偏序是指如果乙個訊息b在訊息a後被同乙個傳送者發布,a必將排在b前面。

Zookeeper概念簡介

zookeeper是乙個分布式協調服務 就是為使用者的分布式應用程式提供協調服務 a zookeeper是為別的分布式程式服務的 b zookeeper 本身就是乙個分布式程式 只要有半數以上節點存活,zk就能正常服務,zookeeper適合裝在奇數臺機器上!c zookeeper所提供的服務涵蓋 ...

Zookeeper核心概念

zookeeper 是乙個典型的分布式資料一致性解決方案,分布式應用程式可以基於 zookeeper 實現諸如資料發布 訂閱 負載均衡 命名服務 分布式協調 通知 集群管理 master 選舉 分布式鎖和分布式佇列等功能。zookeeper 乙個最常用的使用場景就是用於擔任服務生產者和服務消費者的註...

ZooKeeper的工作原理

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