摘要:只允許有一個主進程接受客戶事務(wù)請求并處理,收到請求后,將其轉(zhuǎn)化為事務(wù)。并開啟新一輪選舉,新的會和過半的進行同步數(shù)據(jù)。同步結(jié)束時,切換為消息廣播模式。若非節(jié)點收到客戶請求,則該節(jié)點會將該請求發(fā)送到服務(wù)器上。
zookeeper
它為分布式應(yīng)用提供了高效可靠的分布式協(xié)調(diào)服務(wù)。
實現(xiàn)依賴于 ZAB協(xié)議,實現(xiàn)了主備模式架構(gòu)用來保持集群中數(shù)據(jù)的一致性
Zookeeper 將所有數(shù)據(jù)存放在 內(nèi)存中
應(yīng)用場景:更適合讀操作為主
角色:leader follower observer
leader 是通過選舉的一臺機器(提供讀寫功能)
follower 和 observer 提供讀功能,而observer 不參與選舉 和半寫成功策略(因此可以提升集群讀性能)
集群節(jié)點為奇數(shù)個
節(jié)點分為臨時節(jié)點,持久節(jié)點,順序節(jié)點。 每個節(jié)點都又 star 結(jié)構(gòu)
重要功能 :watch 功能
客戶端: zkclient curator
ZAB 協(xié)議為zookeeper 設(shè)計 支持崩潰恢復的消息廣播協(xié)議。
ZAB 只允許有一個主進程接受客戶事務(wù)請求并處理 (leader),leader收到請求后,將其轉(zhuǎn)化為事務(wù)proposal。
leader 會為每個follower 創(chuàng)建一個隊列,將事務(wù)放入響應(yīng)隊列,保證事務(wù)順序。
之后再隊列中順序向其他節(jié)點廣播該提案,follower 收到后會將其以事務(wù)形式寫入到本地日志,并向leader 發(fā)送 Ack 反饋。
leader等待并收到超過一半的follower 響應(yīng)時向其他節(jié)點發(fā)送 commit 消息,同時 leader 提交提案
ZAB 兩種模式故障恢復模式
消息廣播
模式切換當機器出現(xiàn)故障時,就進入 故障恢復模式。并開啟新一輪選舉,新的leader 會和過半的 follower 進行同步數(shù)據(jù)。同步結(jié)束時,切換為消息廣播模式。
例子: 當一臺 遵循 ZAB 協(xié)議的服務(wù)器啟動后,若監(jiān)測到有 leader 在廣播消息后,自動切換為 恢復模式,同步數(shù)據(jù),之后再切換為消息廣播。
若 非leader 節(jié)點 收到 客戶請求,則該節(jié)點 會將該請求發(fā)送到 leader 服務(wù)器上。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/74658.html
摘要:協(xié)議是為分布式協(xié)調(diào)服務(wù)專門設(shè)計的一種支持崩潰恢復的一致性協(xié)議,這個機制保證了各個之間的同步。選主是協(xié)議中最為重要和復雜的過程。以實際效果而言,分區(qū)相當于對通信的時限要求。參考官方文檔阿里巴巴為什么不用做服務(wù)發(fā)現(xiàn)定理的含義阮一峰 前言 同學們,在上一章中,我們主要講了Zookeeper兩種啟動模式以及具體如何搭建。本章內(nèi)容主要講的是集群相關(guān)的原理內(nèi)容,第一章可以當做是Zookeeper原...
摘要:的設(shè)計目標是將那些復雜且容易出錯的分布式一致性服務(wù)封裝起來,構(gòu)成一個高效可靠的原語集,并以一系列簡單易用的接口提供給用戶使用。具有不可分割性即原語的執(zhí)行必須是連續(xù)的,在執(zhí)行過程中不允許被中斷。 該文已加入開源文檔:JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識)。地址:https://github.com/Snailclimb... showImg(https:...
摘要:之后服務(wù)器等待其他服務(wù)器的反饋,一旦超過半數(shù)的服務(wù)器進行了正確的反饋,那么就會再次向所有的服務(wù)器分發(fā)消息,要求其將前一個進行提交。協(xié)議包括兩種基本的模式,分別是崩潰恢復和消息廣播。 前言 zookeeper本質(zhì)上就是一個分布式協(xié)調(diào)服務(wù),用來解決分布式一致性的問題。 本文適合有一定分布式基礎(chǔ)的讀者閱讀。什么叫相關(guān)的基礎(chǔ)呢?起碼你得知道系統(tǒng)架構(gòu)為何從集中式演變成了分布式,分布式有哪些優(yōu)點...
摘要:與此同時,小組也一同致力于項目,參與了很多動物命名的項目,其中有廣為人知的項目。主控服務(wù)器將所有更新操作序列化,利用協(xié)議將數(shù)據(jù)更新請求通知所有從屬服務(wù)器,保證更新操作。在術(shù)語下,節(jié)點被稱為。命名為的,由系統(tǒng)自動生成,用配額管理。 ZooKeeper 介紹 ZooKeeper(wiki,home,github) 是用于分布式應(yīng)用的開源的分布式協(xié)調(diào)服務(wù)。通過暴露簡單的原語,分布式應(yīng)用能在之...
摘要:當已經(jīng)超過個心跳的時間也就是長度后服務(wù)器還沒有收到客戶端的返回信息那么表明這個客戶端連接失敗。 基礎(chǔ)篇 1、zookeeper是什么 Zookeeper,一種分布式應(yīng)用的協(xié)作服務(wù),是Google的Chubby一個開源的實現(xiàn),是Hadoop的分布式協(xié)調(diào)服務(wù),它包含一個簡單的原語集,應(yīng)用于分布式應(yīng)用的協(xié)作服務(wù),使得分布式應(yīng)用可以基于這些接口實現(xiàn)諸如同步、配置維護和分集群或者命名的服務(wù)。...
閱讀 1967·2021-11-22 15:29
閱讀 3266·2021-10-14 09:43
閱讀 1231·2021-10-08 10:22
閱讀 3354·2021-08-30 09:46
閱讀 1441·2019-08-30 15:55
閱讀 1936·2019-08-30 15:44
閱讀 859·2019-08-30 14:19
閱讀 1453·2019-08-30 13:13