本篇內(nèi)容介紹了“zookeeper的基本原理介紹”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、魚峰網(wǎng)站維護、網(wǎng)站推廣。
基本原理
server很多,有主從之分,不過有一個leader,其他是follower,
每個server,在內(nèi)存中存有一份數(shù)據(jù),啟動時,將選舉出一個leader,根據(jù)paxos協(xié)議選舉
leader負責處理數(shù)據(jù)更新操作,用到zab協(xié)議
一個更新操作成功的標志,大多數(shù)server在內(nèi)存,成功修改數(shù)據(jù)(一個有5個,有3個寫成功了)
zookeeper角色
怎么知道大多數(shù)寫成功了,用到領(lǐng)導(dǎo)者發(fā)起投票,領(lǐng)導(dǎo)者收到3個投票,就是大部分寫成功了。
學(xué)習(xí)者(learner)分為跟隨者(follower),觀察者(ObServer)
高可用,比如兩個節(jié)點掛了,還是可以對外提供服務(wù),為了支持更多客戶端,需要增加server
server增多,會導(dǎo)致投票延遲增大,因為投票需要半數(shù)以上的投票成功,才認為是成功的
假設(shè)其中一個Server比較磨嘰慢網(wǎng)絡(luò)慢,zookeeper會權(quán)衡伸縮性和吞吐率,引入了一個observer
好處(1)不參與投票過程,只同步領(lǐng)導(dǎo)者狀態(tài),接收client連接,請求轉(zhuǎn)發(fā)給領(lǐng)導(dǎo)者,這樣follower跟領(lǐng)導(dǎo)者連接就少了,這樣就不會影響,因為高并發(fā),負載過高而掛掉,所以說observer可以分擔一部分壓力(2)當加入更多的observer之后,可以提gao整個zookeeper的伸縮性,還不影響吞吐率。
leader選舉算法采用了paxos協(xié)議。
paxos核心思想是當多數(shù)server寫成功,則任務(wù)數(shù)據(jù)寫成功。
1)如果有3個server,則需要兩個寫成功即表示任務(wù)數(shù)據(jù)寫成功。
2)如果有4個或5個server,則需要三個寫成功即表示任務(wù)數(shù)據(jù)寫成功。
server數(shù)目一般為奇數(shù)個,例如3,5,7等等,
1)如果有3個server,則最多允許1個server掛掉。(有兩個寫成功,表示成功)
2)如果有4個server,則同樣最多允許1個server掛掉(有三個寫成功,表示成功)
client給server發(fā)送請求,如果server1不是leader,server1會把請求轉(zhuǎn)發(fā)給leader,leader會將請求廣播給各個server,各個server寫成功后,通知leader,當收到大多數(shù)server通知成功,表示寫成功了
“zookeeper的基本原理介紹”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!