2019-12-09

Eureka和Zookeeper兩個的區(qū)別

首先來說說CAP定理

指的是在一個分布式系統(tǒng)中, Consistency(一致性)弥咪、 Availability(可用性)、Partition tolerance(分區(qū)容錯性)本橙,三者不可得兼坦报。

一致性(C)

在分布式系統(tǒng)中的所有數(shù)據(jù)備份潜的,在同一時刻是否同樣的值啰挪。(等同于所有節(jié)點訪問同一份最新的數(shù)據(jù)副本)

可用性(A)

在集群中一部分節(jié)點故障后硫戈,集群整體是否還能響應客戶端的讀寫請求丁逝。(對數(shù)據(jù)更新具備高可用性)

分區(qū)容忍性(P)

以實際效果而言嫩码,分區(qū)相當于對通信的時限要求。系統(tǒng)如果不能在時限內(nèi)達成數(shù)據(jù)一致性丢间,就意味著發(fā)生了分區(qū)的情況祭刚,必須就當前操作在C和A之間做出選擇暗甥。 多數(shù)分布式系統(tǒng)都分布在多個子網(wǎng)絡撤防。每個子網(wǎng)絡就叫做一個區(qū)辜膝。

注意:CAP三者只能滿足其二(不太準確,應該是在保證網(wǎng)絡分區(qū)P的情況下忱辅,只能在C與A之間選一個,如果不是分布式系統(tǒng)损搬,不存在P的情況下C與A都可以滿足)

再來說說Zookeeper 的選舉機制和半數(shù)機制

Zookeeper本質(zhì): 文件系統(tǒng)+ 通知機制

選舉機制

三個核心選舉原則:

(1)Zookeeper集群中只有超過半數(shù)以上的服務器啟動,集群才能正常工作踢关;

(2)在集群正常工作之前,myid小的服務器給myid大的服務器投票儒搭,直到集群正常工作,選出Leader魂仍;

(3)選出Leader之后擦酌,之前的服務器狀態(tài)由Looking改變?yōu)镕ollowing,以后的服務器都是Follower园骆。

半數(shù)機制

集群中半數(shù)以上機器存活,集群可用。所以Zookeeper適合安裝奇數(shù)臺服務器渐排。

舉例詳細說明一下

假如有5臺服務器炒考,id從1到5依次啟動
(1)服務器1啟動,發(fā)起一次選舉:
服務器1投自己一票。此時服務器1票數(shù)一票轩勘,不夠半數(shù)以上(3票)悬秉,選舉無法完成懂缕; 服務器1狀態(tài)保持為Looking索烹;

(2)服務器2啟動况木,再發(fā)起一次選舉:
服務器1和2分別投自己一票垒拢,此時服務器1發(fā)現(xiàn)服務器2的id比自己大尸疆,更改選票投給服務器2按灶;
此時服務器1票數(shù)0票,服務器2票數(shù)2票,不夠半數(shù)以上(3票),選舉無法完成; 服務器1鸠删,2狀態(tài)保持Looking;

(3)服務器3啟動,發(fā)起一次選舉。
與上面過程一樣,服務器1和2先投自己一票逛薇,然后因為服務器3id最大呢袱,兩者更改選票投給為服務器3蚯涮;
此次投票結(jié)果:服務器1為0票,服務器2為0票,服務器3為3票。此時服務器3的票數(shù)已經(jīng)超過半數(shù)(3票),服務器3當選Leader饱狂。服務器1毯焕,2更改狀態(tài)為Following芜辕,服務器3更改狀態(tài)為Leading憨闰;

(4)服務器4啟動,發(fā)起一次選舉。
此時服務器1,2,3已經(jīng)不是Looking狀態(tài),不會更改選票信息。選票信息結(jié)果:服務器3為3票朦肘,服務器4為1票趴生。
此時服務器4服從多數(shù)棚菊,更改選票信息為服務器3码邻;服務器4并更改狀態(tài)為Following开睡;

(5)服務器5啟動,同4一樣投票給3,此時服務器3一共5票,服務器5為0票;服務器5并更改狀態(tài)為Following浮驳;

最終Leader是服務器3奉件,狀態(tài)為Leading宣吱;
其余服務器是Follower疤坝,狀態(tài)為Following历谍。

前面是一些準備知識脱衙,接下來總結(jié)區(qū)別

1.Zookeeper 重CP 荤胁,Eureka 重的是AP ,Zookeeper 數(shù)據(jù)是寫入到Leader中,然后再由Leader 將數(shù)據(jù)同步到 Follwer 中,保證了數(shù)據(jù)一致性(C)檀咙,但如果Zookeeper 某個節(jié)點掛掉時,會重新的選取Leader,在選取Leader的過程中有可能會導致選取時間過長(一般為30~120s)犀变, 整個注冊中心就會處于一個癱瘓狀態(tài)無法對外提供服務妹孙,而Eureka 看出了這一點机隙,在設計時萨西,就強調(diào)了CAP 中的A谎脯,在Eureka集群中,每個節(jié)點的地位都是一樣的模庐,任何節(jié)點掛掉后慎冤,剩下的節(jié)點都能對外提供服務醉者,保證了A 。

2.Eureka作為Spring Could中的組件孩革,后臺Spring 提供了更加強大的技術(shù)支持。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末熔掺,一起剝皮案震驚了整個濱河市饱搏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌置逻,老刑警劉巖推沸,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡鬓催,警方通過查閱死者的電腦和手機肺素,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宇驾,“玉大人压怠,你說我怎么就攤上這事》晌” “怎么了菌瘫?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長布卡。 經(jīng)常有香客問我雨让,道長,這世上最難降的妖魔是什么忿等? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任栖忠,我火速辦了婚禮,結(jié)果婚禮上贸街,老公的妹妹穿的比我還像新娘赡译。我一直安慰自己,他們只是感情好怕篷,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布钻洒。 她就那樣靜靜地躺著,像睡著了一般逸尖。 火紅的嫁衣襯著肌膚如雪古沥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天娇跟,我揣著相機與錄音岩齿,去河邊找鬼。 笑死苞俘,一個胖子當著我的面吹牛盹沈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吃谣,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼乞封,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了基协?” 一聲冷哼從身側(cè)響起歌亲,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎澜驮,沒想到半個月后陷揪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年悍缠,在試婚紗的時候發(fā)現(xiàn)自己被綠了卦绣。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡飞蚓,死狀恐怖滤港,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情趴拧,我是刑警寧澤溅漾,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站著榴,受9級特大地震影響添履,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜脑又,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一暮胧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧问麸,春花似錦往衷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至妄田,卻和暖如春俺亮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背疟呐。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留东且,地道東北人启具。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像珊泳,于是被迫代替她去往敵國和親鲁冯。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354