成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

談你對Zookeeper 選舉原理的理解

開發 架構
Zookeeper 集群是一種典型的中心化架構,也就是會有一個 Leader 作為決策節點,專門負責事務請求的處理和數據的同步。這種架構的好處是可以減少集群架構里面數據同步的復雜度,集群管理會更加簡單和穩定。

?1.什么是Leader選舉

首先,Zookeeper 集群節點由三種角色組成,分別是:

圖片

Leader,負責所有事務請求的處理,以及過半提交的投票發起和決策。

Follower,負責接收客戶端的非事務請求,而事務請求會轉發給 Leader 節點來處理, 另外,Follower 節點還會參與 Leader 選舉的投票。

Observer,負責接收客戶端的非事務請求,事務請求會轉發給 Leader 節點來處理,Observer 節點不參與任何投票,只是為了擴展 Zookeeper 集群來分擔讀操作的壓力。

圖片

其次,Zookeeper 集群是一種典型的中心化架構,也就是會有一個 Leader 作為決策節點,專門負責事務請求的處理和數據的同步。這種架構的好處是可以減少集群架構里面數據同步的復雜度,集群管理會更加簡單和穩定。

但是,會帶來 Leader 選舉的一個問題,也就是說,如果 Leader 節點宕機了,為了保證集群繼續提供可靠的服務,Zookeeper 需要從剩下的 Follower 節點里面去選舉一個新的節點作為Leader,也就是所謂的 Leader 選舉。

圖片

2.選舉原理

接下來,給大家介紹一下Zookeeper的選舉原理。

首先呢,Zookeeper中的每一個節點都會向集群里面的其他節點發送一個票據 Vote,這個票據有三個屬性。

epoch, 邏輯時鐘,用來表示當前票據是否過期。

zxid,事務 id,表示當前節點最新存儲的數據的事務編號

myid,服務器 id,在 myid 文件里面填寫的數字。

每個節點都會選自己當 Leader,所以第一次投票的時候攜帶的是當前節點的信息。

接下來每個節點用收到的票據和自己節點的票據做比較,根據 epoch、zxid、myid的順序逐一比較,以值最大的一方獲勝。比較結束以后這個節點下次再投票的時候,發送的投票請求就是獲勝的 Vote 信息。

圖片

然后,通過多輪投票以后,每個節點都會去統計當前達成一致的票據,以少數服從多數的方式,最終獲得票據最多的節點成為 Leader。

最后我再補充一下,為什么要選擇 epoch/zxid/myid 作為投票評判依據?我是這么理解的。

首先,epoch ,因為網絡通信延遲的可能性,有可能在新一輪的投票里面收到上一輪投票的票據,這種數據應該丟棄,否則會影響投票的結果和效率。

然后,zxid 越大,說明這個節點的數據越接近 leader,所以用 zxid 做判斷條件是為了避免數據丟失的問題

最后,myid是服務器 id,這個是避免投票時間過長,直接用 myid 最大值作為快速終結投票的屬性。

Leader 選舉是一個比較復雜的問題,它涉及到集群節點的數據一致性算法。在很多中間件里面都有涉及到類似的問題,這個思想其實還是很有研究價值的。除此之外,還有 Paxos、raft、等一致性算法。

以上就是我對Zookeeper選舉原理的理解。

責任編輯:武曉燕 來源: Tom彈架構
相關推薦

2022-09-23 11:00:27

KafkaZookeeper機制

2020-06-19 15:32:56

HashMap面試代碼

2022-08-14 07:14:50

Kafka零拷貝

2021-07-16 07:57:34

ReduxDOM組件

2022-09-06 11:13:16

接口PipelineHandler

2020-08-27 08:31:11

DDD可視化模型

2022-08-26 00:02:03

RocketMQ單體架構MQ

2023-11-28 12:25:02

多線程安全

2022-06-30 09:10:33

NoSQLHBaseRedis

2021-05-11 08:48:23

React Hooks前端

2024-09-02 16:10:19

vue2前端

2022-08-29 16:03:33

狀態流轉Java

2022-07-06 08:30:36

vuereactvdom

2019-12-26 09:15:44

網絡IOLinux

2022-09-19 07:57:59

云服務互聯網基礎設施

2024-09-20 05:46:00

2024-09-11 16:49:55

2019-11-28 10:45:28

ZooKeeper源碼分布式

2024-03-15 09:06:48

HTTPSCA私鑰

2018-08-20 08:30:05

Kafka架構系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线色网| 日韩精品一区二区三区免费观看 | 本道综合精品 | 五月综合久久 | 一区二区三区免费观看 | 午夜在线观看免费 | 久久香蕉精品视频 | 毛片日韩 | 日韩插插 | 日韩午夜激情 | 成人性视频免费网站 | 超碰日本 | 九九免费观看视频 | 亚洲男人天堂网 | 国产在线小视频 | 欧美精品一区二区在线观看 | 色男人的天堂 | 欧美日韩在线精品 | 2019天天操| 国产性色视频 | 久久久久亚洲精品 | 99国产视频| 精品国产乱码久久久久久闺蜜 | 欧美激情精品久久久久久变态 | 2022精品国偷自产免费观看 | 九九精品在线 | 亚洲精品日韩一区二区电影 | 美女国内精品自产拍在线播放 | 国产区视频在线观看 | 午夜精品福利视频 | 国产精品一区二区在线 | www在线视频| 秋霞性生活 | 中文字幕高清av | 久久看片| 在线亚洲精品 | 欧美精品福利 | 中文字幕在线观看成人 | 国产精产国品一二三产区视频 | 黄视频网站在线 | 国产精品美女www |