1. PhxPaxos源碼分析之關(guān)于PhxPaxos

目錄
1. PhxPaxos源碼分析之關(guān)于PhxPaxos
2. PhxPaxos分析之網(wǎng)絡(luò)基礎(chǔ)部件
3. PhxPaxos源碼分析之Proposer院刁、Acceptor
4. PhxPaxos源碼分析之Learner
5. PhxPaxos源碼分析之狀態(tài)機(jī)
6. PhxPaxos源碼分析之歸檔機(jī)制
7. PhxPaxos源碼分析之整體架構(gòu)


注:本章主要內(nèi)容截取自github phxpaxos官方介紹

1.1 關(guān)于phxpaxos

PhxPaxos是騰訊公司微信后臺(tái)團(tuán)隊(duì)自主研發(fā)的一套基于Paxos協(xié)議的多機(jī)狀態(tài)拷貝類庫(kù)冒萄。它以庫(kù)函數(shù)的方式嵌入到開發(fā)者的代碼當(dāng)中, 使得一些單機(jī)狀態(tài)服務(wù)可以擴(kuò)展到多機(jī)器,從而獲得強(qiáng)一致性的多副本以及自動(dòng)容災(zāi)的特性。 這個(gè)類庫(kù)在微信服務(wù)里面經(jīng)過一系列的工程驗(yàn)證,并且我們對(duì)它進(jìn)行過大量的惡劣環(huán)境下的測(cè)試丐膝,使其在一致性的保證上更為健壯。

1.2 特性

  • 基于Lamport的 Paxos Made Simple 進(jìn)行工程化钾菊,不進(jìn)行任何算法變種帅矗。
  • 使用基于消息傳遞機(jī)制的純異步工程架構(gòu)。
  • 每次寫盤使用fsync嚴(yán)格保證正確性煞烫。
  • 一次Propose(寫入數(shù)據(jù))的Latency為一次RTT浑此,均攤單機(jī)寫盤次數(shù)為1次。
  • 使用點(diǎn)對(duì)點(diǎn)流式協(xié)議進(jìn)行快速學(xué)習(xí)滞详。
  • 支持Checkpoint以及對(duì)PaxosLog的自動(dòng)清理凛俱。
  • 支持跨機(jī)器的Checkpoint自動(dòng)拉取。
  • 一個(gè)PhxPaxos實(shí)例可以同時(shí)掛載多個(gè)狀態(tài)機(jī)料饥。
  • 可使用鏡像狀態(tài)機(jī)模式進(jìn)行Checkpoint的自動(dòng)生成蒲犬。
  • 內(nèi)置Master選舉功能。
  • 線上數(shù)據(jù)的實(shí)時(shí)增量checksum校驗(yàn)岸啡。
  • 網(wǎng)絡(luò)原叮、存儲(chǔ)、監(jiān)控、日志模塊插件化奋隶,可由開發(fā)者自定義沛慢。
  • 基于Paxos算法的安全的成員變更。
  • 基于Paxos算法的集群簽名保護(hù)达布,隔離非法簽名的錯(cuò)誤機(jī)器。
  • 自適應(yīng)的過載保護(hù)逾冬。

1.3 局限

  • 一個(gè)PhxPaxos實(shí)例任一時(shí)刻只允許運(yùn)行在單一進(jìn)程(容許多線程)黍聂。
  • 這個(gè)類庫(kù)沒有內(nèi)建對(duì)client-server的支持,開發(fā)者必須將類庫(kù)的代碼嵌入到自己的服務(wù)器代碼里面身腻,以實(shí)現(xiàn)這個(gè)功能产还。
  • PhxPaxos只容許運(yùn)行在64位的Linux平臺(tái)。

1.4 總結(jié)

PhxPaxos是Paxos的工程化實(shí)現(xiàn)嘀趟。除了實(shí)現(xiàn)Paxos算法之外脐区,還做了很多工程優(yōu)化,包括性能(RTT她按、本地落盤次數(shù)等)牛隅、基礎(chǔ)部件插件化等。

本系列章節(jié)將深入分析PhxPaxos的各個(gè)部分酌泰,從網(wǎng)絡(luò)基礎(chǔ)部件講起媒佣,分析paxos的算法實(shí)現(xiàn)、checkpoint機(jī)制陵刹,最后從更高層上闡述phxpaxos的架構(gòu)實(shí)現(xiàn)默伍。本系列文章將覆蓋“1.1 特性”中描述的所有特性。

本文基于 phxpaxos v1.1.2衰琐。


[1] Leslie Lamport. Paxos made simple. 2001.11.01
[2] 隨安居士. Paxos made simple 釋譯. 2017.03.09
[3] 微信后臺(tái)團(tuán)隊(duì). 微信自研生產(chǎn)級(jí)paxos類庫(kù)PhxPaxos實(shí)現(xiàn)原理介紹. 2016.06.22


【轉(zhuǎn)載請(qǐng)注明】隨安居士. 1. PhxPaxos源碼分析之關(guān)于PhxPaxos. 2017.11.13

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末也糊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子羡宙,更是在濱河造成了極大的恐慌狸剃,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辛辨,死亡現(xiàn)場(chǎng)離奇詭異捕捂,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)斗搞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門指攒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人僻焚,你說我怎么就攤上這事允悦。” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵隙弛,是天一觀的道長(zhǎng)架馋。 經(jīng)常有香客問我,道長(zhǎng)全闷,這世上最難降的妖魔是什么叉寂? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮总珠,結(jié)果婚禮上屏鳍,老公的妹妹穿的比我還像新娘。我一直安慰自己局服,他們只是感情好钓瞭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著淫奔,像睡著了一般山涡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上唆迁,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天鸭丛,我揣著相機(jī)與錄音,去河邊找鬼媒惕。 笑死系吩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的妒蔚。 我是一名探鬼主播穿挨,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼肴盏!你這毒婦竟也來了科盛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤菜皂,失蹤者是張志新(化名)和其女友劉穎贞绵,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體恍飘,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡榨崩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了章母。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片母蛛。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖乳怎,靈堂內(nèi)的尸體忽然破棺而出彩郊,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布秫逝,位于F島的核電站恕出,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏违帆。R本人自食惡果不足惜浙巫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望刷后。 院中可真熱鬧狈醉,春花似錦、人聲如沸惠险。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)班巩。三九已至,卻和暖如春嘶炭,著一層夾襖步出監(jiān)牢的瞬間抱慌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工眨猎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抑进,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓睡陪,卻偏偏與公主長(zhǎng)得像寺渗,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子兰迫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容