| 企服解答
ZooKeeper 是一個開源的分布式協(xié)調(diào)服務(wù),ZooKeeper框架最初是在“Yahoo!"上構(gòu)建的,用于以簡單而穩(wěn)健的方式訪問他們的應(yīng)用程序。 后來,Apache ZooKeeper成為Hadoop,HBase和其他分布式框架使用的有組織服務(wù)的標準。ZooKeeper 的設(shè)計目標是將那些復(fù)雜且容易出錯的分布式一致性服務(wù)封裝起來,構(gòu)成一個高效可靠的原語集,并以一系列簡單易用的接口提供給用戶使用。ZooKeeper 特點有:順序一致性、原子性、單一系統(tǒng)映像、可靠性。
zookeeper是什么意思
1、順序一致性
從同一客戶端發(fā)起的事務(wù)請求,最終將會嚴格地按照順序被應(yīng)用到 ZooKeeper 中去。
2、原子性
所有事務(wù)請求的處理結(jié)果在整個集群中所有機器上的應(yīng)用情況是一致的,也就是說,要么整個集群中所有的機器都成功應(yīng)用了某一個事務(wù),要么都沒有應(yīng)用。
3、單一系統(tǒng)映像
無論客戶端連到哪一個 ZooKeeper 服務(wù)器上,其看到的服務(wù)端數(shù)據(jù)模型都是一致的。
4、可靠性
一旦一次更改請求被應(yīng)用,更改的結(jié)果就會被持久化,直到被下一次更改覆蓋。
| 拓展閱讀
zookeeper的作用包括:1、Zookeeper加強集群穩(wěn)定性;2、Zookeeper加強集群持續(xù)性;3、Zookeeper保證集群有序性;4、Zookeeper保證集群高效;5、數(shù)據(jù)結(jié)構(gòu)和分等級的命名空間。
1、Zookeeper加強集群穩(wěn)定性
Zookeeper通過一種和文件系統(tǒng)很像的層級命名空間來讓分布式進程互相協(xié)同工作。這些命名空間由一系列數(shù)據(jù)寄存器組成,我們也叫這些數(shù)據(jù)寄存器為znodes。這些znodes就有點像是文件系統(tǒng)中的文件和文件夾。和文件系統(tǒng)不一樣的是,文件系統(tǒng)的文件是存儲在存儲區(qū)上的,而zookeeper的數(shù)據(jù)是存儲在內(nèi)存上的。同時,這就意味著zookeeper有著高吞吐和低延遲。Zookeeper實現(xiàn)了高性能,高可靠性,和有序的訪問。高性能保證了zookeeper能應(yīng)用在大型的分布式系統(tǒng)上。高可靠性保證它不會由于單一節(jié)點的故障而造成任何問題。有序的訪問能保證客戶端可以實現(xiàn)較為復(fù)雜的同步操作。
2、Zookeeper加強集群持續(xù)性
ZooKeeper Service組成Zookeeper的各個服務(wù)器必須要能相互通信。他們在內(nèi)存中保存了服務(wù)器狀態(tài),也保存了操作的日志,并且持久化快照。只要大多數(shù)的服務(wù)器是可用的,那么Zookeeper就是可用的。客戶端連接到一個Zookeeper服務(wù)器,并且維持TCP連接。并且發(fā)送請求,獲取回復(fù),獲取事件,并且發(fā)送連接信號。如果這個TCP連接斷掉了,那么客戶端可以連接另外一個服務(wù)器。
3、Zookeeper保證集群有序性
Zookeeper使用數(shù)字來對每一個更新進行標記。這樣能保證Zookeeper交互的有序。后續(xù)的操作可以根據(jù)這個順序?qū)崿F(xiàn)諸如同步操作這樣更高更抽象的服務(wù)。
4、Zookeeper保證集群高效
Zookeeper的高效更表現(xiàn)在以讀為主的系統(tǒng)上。Zookeeper可以在千臺服務(wù)器組成的讀寫比例大約為10:1的分布系統(tǒng)上表現(xiàn)優(yōu)異。
5、數(shù)據(jù)結(jié)構(gòu)和分等級的命名空間
Zookeeper的命名空間的結(jié)構(gòu)和文件系統(tǒng)很像。一個名字和文件一樣使用/的路徑表現(xiàn),zookeeper的每個節(jié)點都是被路徑唯一標識
[免責聲明]
文章標題: zookeeper是什么意思
文章內(nèi)容為網(wǎng)站編輯整理發(fā)布,僅供學(xué)習(xí)與參考,不代表本網(wǎng)站贊同其觀點和對其真實性負責。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時溝通。發(fā)送郵件至36dianping@36kr.com,我們會在3個工作日內(nèi)處理。