今天就跟大家聊聊有關(guān)Zookeeper基本知識有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
保德ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
1、Zookeeper概述
Zookeeper是一個分布式協(xié)調(diào)服務(wù)的開源框架,主要用來解決分布式集群中應(yīng)用系統(tǒng)的一致性問題。ZooKeeper本質(zhì)上是一個分布式的小文件存儲系統(tǒng)。提供基于類似于文件系統(tǒng)的目錄樹方式的數(shù)據(jù)存儲,并且可以對樹中的節(jié)點進(jìn)行有效管理。從而用來維護和監(jiān)控你存儲的數(shù)據(jù)的狀態(tài)變化。通過監(jiān)控這些數(shù)據(jù)狀態(tài)的變化,從而可以達(dá)到基于數(shù)據(jù)的集群管理。
2、ZooKeeper特性
(1)全局?jǐn)?shù)據(jù)一致:集群中每個服務(wù)器保存一份相同的數(shù)據(jù)副本,client無論連接到哪個服務(wù)器,展示的數(shù)據(jù)都是一致的,這是最重要的特征。
(2)可靠性:如果消息被其中一臺服務(wù)器接受,那么將被所有的服務(wù)器接受。
(3)順序性:包括全局有序和偏序兩種:全局有序是指如果在一臺服務(wù)器上消息 a在消息 b前發(fā)布,則在所有 Server上消息 a都將在消息 b前被發(fā)布;偏序是指如果一個消息 b在消息 a后被同一個發(fā)送者發(fā)布,a必將排在 b前面。
(4)數(shù)據(jù)更新原子性:一次數(shù)據(jù)更新要么成功(半數(shù)以上節(jié)點成功),要么失敗,不存在中間狀態(tài);。
(5)實時性:Zookeeper保證客戶端將在一個時間間隔范圍內(nèi)獲得服務(wù)器的更新信息,或者服務(wù)器失效的信息。
3、ZooKeeper集群角色
(1)Leader:Zookeeper集群工作的核心。事務(wù)請求(寫操作)的唯一調(diào)度和處理者,保證集群事務(wù)處理的順序性;集群內(nèi)部各個服務(wù)器的調(diào)度者。 對于 create,setData,delete等有寫操作的請求,則需要統(tǒng)一轉(zhuǎn)發(fā)給leader處理,leader需要決定編號、執(zhí)行操作,這個過程稱為一個事務(wù)。
(2)Follower:處理客戶端非事務(wù)(讀操作)請求,轉(zhuǎn)發(fā)事務(wù)請求給 Leader; 參與集群 Leader選舉投票。此外,針對訪問量比較大的 zookeeper集群,還可新增觀察者角色。
(3)Observer:觀察者角色,觀察 Zookeeper集群的最新狀態(tài)變化并將這些狀態(tài)同步過來,其對于非事務(wù)請求可以進(jìn)行獨立處理,對于事務(wù)請求,則會轉(zhuǎn)發(fā)給 Leader服務(wù)器進(jìn)行處理。不會參與任何形式的投票只提供非事務(wù)服務(wù),通常用于在不影響集群事務(wù)處理能力的前提下提升集群的非事務(wù)處理能力。
4、ZooKeeper集群搭建
Zookeeper集群搭建指的是 ZooKeeper分布式模式安裝。通常由 2n+1臺 servers組成。這是因為為了保證 Leader選舉(基于 Paxos算法的實現(xiàn))能過得到多數(shù)的支持,所以 ZooKeeper集群的數(shù)量一般為奇數(shù)。 Zookeeper運行需要 Java環(huán)境,所以需要提前安裝 jdk。對于安裝leader+follower模式的集群,大致過程如下:
配置主機名稱到 IP地址映射配置;
修改 ZooKeeper配置文件;
遠(yuǎn)程復(fù)制分發(fā)安裝文件;
設(shè)置 myid;
啟動 ZooKeeper集群。
如果要想使用 Observer模式,可在對應(yīng)節(jié)點的配置文件添加如下配置:
peerType=observer
其次,必須在配置文件指定哪些節(jié)點被指定為 Observer,如:
server.1:node-1:2181:3181:observer
看完上述內(nèi)容,你們對Zookeeper基本知識有哪些有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。