欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Zookeeper的使用詳解

 更新時間:2013年05月02日 11:08:40   作者:  
本篇文章介紹了,基于Zookeeper的使用說明,需要的朋友參考下

更多內(nèi)容請查看zookeeper官網(wǎng)

Zookper: 一種分布式應用的協(xié)作服務

Zookper是一種分布式的,開源的,應用于分布式應用的協(xié)作服務。它提供了一些簡單的操作,使得分布式應用可以基于這些接口實現(xiàn)諸如同步、配置維護和分集群或者命名的服務。Zookper很容易編程接入,它使用了一個和文件樹結構相似的數(shù)據(jù)模型。可以使用Java或者C來進行編程接入。

眾所周知,分布式的系統(tǒng)協(xié)作服務很難有讓人滿意的產(chǎn)品。這些協(xié)作服務產(chǎn)品很容易陷入一些諸如競爭選擇條件或者死鎖的陷阱中。Zookper的目的就是將分布式服務不再需要由于協(xié)作沖突而另外實現(xiàn)協(xié)作服務。

設計目標 Zookeeper是簡易的

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能應用在大型的分布式系統(tǒng)上。高可靠性保證它不會由于單一節(jié)點的故障而造成任何問題。有序的訪問能保證客戶端可以實現(xiàn)較為復雜的同步操作。

Zookeeper是可重用的

ZooKeeper Service

image

組成Zookeeper的各個服務器必須要能相互通信。他們在內(nèi)存中保存了服務器狀態(tài),也保存了操作的日志,并且持久化快照。只要大多數(shù)的服務器是可用的,那么Zookeeper就是可用的。

客戶端連接到一個Zookeeper服務器,并且維持TCP連接。并且發(fā)送請求,獲取回復,獲取事件,并且發(fā)送連接信號。如果這個TCP連接斷掉了,那么客戶端可以連接另外一個服務器。

Zookeeper是有序的

Zookeeper使用數(shù)字來對每一個更新進行標記。這樣能保證Zookeeper交互的有序。后續(xù)的操作可以根據(jù)這個順序實現(xiàn)諸如同步操作這樣更高更抽象的服務。

Zookeeper是高效的

Zookeeper的高效更表現(xiàn)在以讀為主的系統(tǒng)上。Zookeeper可以在千臺服務器組成的讀寫比例大約為10:1的分布系統(tǒng)上表現(xiàn)優(yōu)異。

數(shù)據(jù)結構和分等級的命名空間

Zookeeper的命名空間的結構和文件系統(tǒng)很像。一個名字和文件一樣使用/的路徑表現(xiàn),zookeeper的每個節(jié)點都是被路徑唯一標識

ZooKeeper's Hierarchical Namespace

image

實現(xiàn)

下圖顯示了ZooKeeper服務的高級組件服務。除了請求處理器,Zookeeper服務器組的每個服務器復制他們自己的每個組件。

ZooKeeper Components

image

replicated database是一個存儲在內(nèi)存中的包含整個數(shù)據(jù)樹的結構。所有的更新操作都做日志到硬盤上了。并且寫操作在作用在數(shù)據(jù)庫的時候會序列化存儲到硬盤上。

每個ZooKeeper服務器都連接了許多個客戶端??蛻舳诉B接到一個服務器來提交請求。

相關文章

最新評論