開源的分散式協調服務
ZooKeeper是一個開源的分散式協調服務,它是Apache Hadoop和Hbase的重要組件,為分散式套用提供了一致性服務。ZooKeeper的設計目標是將複雜且容易出錯的分散式一致性服務封裝起來,構成一個高效可靠的原語集,並以一系列簡單易用的接口提供給用戶使用。ZooKeeper集群是由一個領導者和多個跟隨者組成,只要集群中有半數以上的節點存活,ZooKeeper就能正常提供服務。ZooKeeper提供的功能包括配置維護、域名服務、分散式同步和組服務等,通常被用於實現數據發布/訂閱、負載均衡、命名服務、分散式協調/通知、集群管理、Master選舉、分散式鎖和分散式佇列等功能。另外,ZooKeeper將所有數據保存在記憶體中,這使得在「讀」多於「寫」的應用程式中尤其地高性能,因為「寫」會導致所有的伺服器間同步狀態,「讀」多於「寫」是協調服務的典型場景。