摘要:當(dāng)時(shí)我心里默默想著他那個(gè)集群投票的算法哎對(duì)呀一定要超過(guò)半數(shù)的投票通過(guò)才能正常執(zhí)行?;秀敝杏X得同事的說(shuō)法好像挺的。為了驗(yàn)證這倆的說(shuō)法。我對(duì)又有了一次深入的理解。因?yàn)榈耐镀睓C(jī)制,要超過(guò)半數(shù)的投票通過(guò),才能執(zhí)行此次請(qǐng)求。
首先說(shuō)說(shuō)是怎么引起這次深入理解zk的吧。
A同事:突然問(wèn)了一句“zk一般集群都是奇數(shù)臺(tái),要是集群壞了一臺(tái)機(jī)器該怎么工作,還能正常工作嗎?” B同事:這個(gè)zk集群自己會(huì)動(dòng)態(tài)拋棄一臺(tái),又是奇數(shù)臺(tái)。 當(dāng)時(shí)我心里默默想著zk他那個(gè)集群投票的paxos算法,哎對(duì)呀一定要超過(guò)半數(shù)的投票通過(guò)才能正常執(zhí)行?;秀敝杏X得B同事的說(shuō)法好像挺ok的。 A同事:(一般zk都是7臺(tái),壞了一臺(tái)就還有6臺(tái),我們使用的是7臺(tái)的集群)剩了6臺(tái),要是投票數(shù)3v3,應(yīng)該是算這次投票失敗吧。 聽了A的回復(fù),我感覺是哈,好像也有道理。為了驗(yàn)證這倆的說(shuō)法。我對(duì)zk又有了一次深入的理解。1.zk的集群節(jié)點(diǎn)分類
Leader、Follower和Observer Leader:最終決策者,也是集群master,負(fù)責(zé)手機(jī)Follower的意見 Follower:參與決議事件 Observer:用于提升zk性能的節(jié)點(diǎn),主要是提高其對(duì)外讀的性能提高,并且這類節(jié)點(diǎn)不參與投票,也提高了zk增刪改的性能.(因?yàn)閦k基于投票選舉策略的思路,每次的增刪改請(qǐng)求都將被轉(zhuǎn)發(fā)到集群Leader節(jié)點(diǎn)進(jìn)行后續(xù)的投票表 決)2.zk投票表決機(jī)制以及集群數(shù)量
Leader將收到的請(qǐng)求(增刪改),廣播給所以Follower節(jié)點(diǎn),在廣播給所以Follower節(jié)點(diǎn)之前會(huì)生成一個(gè)單調(diào)遞增的id,zid,當(dāng)Leader只要收到超過(guò)半數(shù)以上決議通過(guò),就執(zhí)行該請(qǐng)求,不會(huì)等待其他未表決(未返回的)Follower節(jié)點(diǎn),所有廣播的消息都將按zid排序進(jìn)行執(zhí)行。 因此zk集群的數(shù)量其實(shí)任意臺(tái)都行,這里的集群數(shù)量暫且不考慮Observer,出于穩(wěn)定性和可用性的考慮(CAP理論),都會(huì)多臺(tái)機(jī)器部署。因?yàn)閦k的投票機(jī)制,要超過(guò)半數(shù)的投票通過(guò),才能執(zhí)行此次請(qǐng)求。比如3臺(tái),必須要2臺(tái)機(jī) 器決議通過(guò)之后才能執(zhí)行,即剩下2臺(tái)依舊可以正常對(duì)外提供服務(wù),可容錯(cuò)1臺(tái),4臺(tái),必須要3臺(tái)機(jī)器決議通過(guò)之后才能執(zhí)行,即剩下3臺(tái)依舊可以正常對(duì)外提供服務(wù),可容錯(cuò)1臺(tái)。所以偶數(shù)和奇數(shù)臺(tái)的可容錯(cuò)(可用性)是一樣的, 為何要多一臺(tái)機(jī)器去部署呢?并且zk多一臺(tái)機(jī)器參與表決,寫入的性能也會(huì)線性下降。 機(jī)器數(shù)量 容錯(cuò)數(shù)量 1 0 2 0 3 1 4 1 2n-1 n-1 2n n-1
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/70598.html
摘要:終上所述這一切的一切,就是因?yàn)槟慵夹g(shù)不行但使龍城飛將在,不破樓蘭終不還但使雙手兩眼在,不入阿里終不還是的,只要你雙手還能敲代碼,雙眼還能看得見,對(duì)于程序員來(lái)說(shuō),阿里等這些大廠將會(huì)是你技術(shù)的必達(dá)點(diǎn)。 人在屋檐下,哪能不低頭 (記2018年底互聯(lián)網(wǎng)大寒潮) showImg(https://segmentfault.com/img/bVbmULW?w=240&h=240); 伴隨著深冬凌冽的...
摘要:終上所述這一切的一切,就是因?yàn)槟慵夹g(shù)不行但使龍城飛將在,不破樓蘭終不還但使雙手兩眼在,不入阿里終不還是的,只要你雙手還能敲代碼,雙眼還能看得見,對(duì)于程序員來(lái)說(shuō),阿里等這些大廠將會(huì)是你技術(shù)的必達(dá)點(diǎn)。 人在屋檐下,哪能不低頭 (記2018年底互聯(lián)網(wǎng)大寒潮) showImg(https://segmentfault.com/img/bVbmULW?w=240&h=240); 伴隨著深冬凌冽的...
摘要:我沒(méi)有能力去控制那些自媒體發(fā)布這些不實(shí)的內(nèi)容,但是在我了解的范圍內(nèi),還是盡力輸出一些我的理解。 之前我發(fā)過(guò)一篇《說(shuō)說(shuō)我為什么看好Spring Cloud Alibaba》,然后這兩天有網(wǎng)友給我轉(zhuǎn)了這篇文章《坑爹項(xiàng)目spring-cloud-alibaba,我們也來(lái)一個(gè)》,問(wèn)我的看法是怎么樣的,聊天時(shí)候簡(jiǎn)單說(shuō)了一下。今天在家休息,抽空整理一下內(nèi)容,逐點(diǎn)說(shuō)一下我的看法,主要還是覺得這篇文章...
摘要:協(xié)議是為分布式協(xié)調(diào)服務(wù)專門設(shè)計(jì)的一種支持崩潰恢復(fù)的一致性協(xié)議,這個(gè)機(jī)制保證了各個(gè)之間的同步。選主是協(xié)議中最為重要和復(fù)雜的過(guò)程。以實(shí)際效果而言,分區(qū)相當(dāng)于對(duì)通信的時(shí)限要求。參考官方文檔阿里巴巴為什么不用做服務(wù)發(fā)現(xiàn)定理的含義阮一峰 前言 同學(xué)們,在上一章中,我們主要講了Zookeeper兩種啟動(dòng)模式以及具體如何搭建。本章內(nèi)容主要講的是集群相關(guān)的原理內(nèi)容,第一章可以當(dāng)做是Zookeeper原...
摘要:發(fā)送請(qǐng)求,處理數(shù)據(jù)。在上面這個(gè)場(chǎng)景中,這類數(shù)據(jù)的結(jié)構(gòu)可能是最常碰到的。整個(gè)過(guò)程可以簡(jiǎn)化成數(shù)據(jù)的變化引起視圖的變化,和現(xiàn)在很多前端框架數(shù)據(jù)驅(qū)動(dòng)思想有幾分相似。至此一個(gè)對(duì)于頁(yè)面的抽象出來(lái)的數(shù)據(jù)結(jié)構(gòu)雛形基本完成了。 作者:周周(滬江資深Web前端開發(fā)工程師)本文為原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明作者及出處 前言 近期在小D十周年活動(dòng)之際,又看到了一個(gè)自家H5專題夢(mèng)工廠生成的頁(yè)面。 showImg(htt...
閱讀 3948·2021-09-22 10:02
閱讀 3372·2019-08-30 15:52
閱讀 3067·2019-08-30 12:51
閱讀 764·2019-08-30 11:08
閱讀 2070·2019-08-29 15:18
閱讀 3110·2019-08-29 12:13
閱讀 3601·2019-08-29 11:29
閱讀 1877·2019-08-29 11:13