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