2PC

2PC,是Two-Phase Commit 的縮寫塘揣,也就是二階段提交,是在數(shù)據(jù)庫(kù)領(lǐng)域處理事務(wù)亲铡,保證原子性的一種常用算法才写。通常會(huì)把二階段提交協(xié)議認(rèn)為是一種一致性協(xié)議奖蔓,在處理成功的時(shí)候統(tǒng)一執(zhí)行事務(wù),在處理失敗的時(shí)候統(tǒng)一進(jìn)行回滾吆鹤,從而來(lái)有效的保證分布式數(shù)據(jù)的一致性厨疙。

協(xié)議說(shuō)明

顧名思義疑务,二階段提交協(xié)議就是把事務(wù)的提交過(guò)程分為倆個(gè)階段來(lái)進(jìn)行處理,執(zhí)行的過(guò)程如下:

  • 一知允、提交事務(wù)請(qǐng)求:
    協(xié)調(diào)者對(duì)所有的參與者發(fā)送事務(wù)內(nèi)容并詢問(wèn)是否可以提交操作,并開(kāi)始等待參與者的相應(yīng)温鸽。參與者節(jié)點(diǎn)來(lái)執(zhí)行事務(wù)操作保屯,并把Undo和Redo的信息記錄在日志中嗤朴,當(dāng)參與者成功的執(zhí)行了事務(wù)就反饋給協(xié)調(diào)者Yes,表示事務(wù)可以執(zhí)行雹姊;如果參與者沒(méi)有成功的執(zhí)行事務(wù)股缸,那么就會(huì)反饋給協(xié)調(diào)者No相應(yīng)吱雏,表示事務(wù)不可以執(zhí)行敦姻。

  • 二、執(zhí)行事務(wù)提交:
    當(dāng)協(xié)調(diào)者從所有的參與者獲得的反饋都是Yes的時(shí)候镰惦,就會(huì)執(zhí)行事務(wù)的提交。協(xié)調(diào)者對(duì)所有的參與者發(fā)起一個(gè)Commit請(qǐng)求旺入,當(dāng)參與者收到了Commit請(qǐng)求之后就會(huì)正式的進(jìn)行事務(wù)的提交兑凿,在完成了提交之后會(huì)反饋協(xié)調(diào)者一個(gè)Ack消息茵瘾,當(dāng)協(xié)調(diào)者收到了所有的Ack消息后完成事務(wù)。
    當(dāng)協(xié)調(diào)者從所有的參與者獲得的反饋包含了No,或者在等待超時(shí)之后沒(méi)有獲得所有的響應(yīng)拗秘,就會(huì)中斷事務(wù)圣絮,向所有的參與者發(fā)出rollback請(qǐng)求雕旨,參與者在收到了請(qǐng)求之后,回去查詢?cè)陔A段一里記錄的Undo信息來(lái)執(zhí)行事務(wù)的回滾操作凡涩,并在完成回滾之后釋放整個(gè)事務(wù)執(zhí)行期間占用的資源棒搜,同樣完成了回滾之后會(huì)反饋協(xié)調(diào)者一個(gè)Ack消息突照,當(dāng)協(xié)調(diào)者收到了所有的Ack消息后完成事務(wù)中斷氧吐。

優(yōu)缺點(diǎn)

優(yōu)點(diǎn):原理簡(jiǎn)單讹蘑,實(shí)現(xiàn)方便
缺點(diǎn):同步阻塞,單點(diǎn)問(wèn)題座慰,數(shù)據(jù)不一致,太過(guò)保守翠拣。

缺點(diǎn)的前倆個(gè)都很容易理解,至于數(shù)據(jù)不一致的情況是在二階段的commit的時(shí)候误墓,可能有節(jié)點(diǎn)沒(méi)有收到commit指令蛮粮,于是出現(xiàn)了有的事務(wù)進(jìn)行了提交谜慌,有的沒(méi)有辦法提交事務(wù)。太過(guò)保守則是任意一個(gè)節(jié)點(diǎn)的失敗都會(huì)導(dǎo)致整個(gè)事務(wù)的失敗欣范。

?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末变泄,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子妨蛹,更是在濱河造成了極大的恐慌屏富,老刑警劉巖蛙卤,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颤难,死亡現(xiàn)場(chǎng)離奇詭異典予,居然都是意外死亡乐严,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門昂验,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)捂敌,“玉大人占婉,你說(shuō)我怎么就攤上這事甫恩。” “怎么了磺箕?”我有些...
    開(kāi)封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵奖慌,是天一觀的道長(zhǎng)松靡。 經(jīng)常有香客問(wèn)我,道長(zhǎng)雕欺,這世上最難降的妖魔是什么岛马? 我笑而不...
    開(kāi)封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任啦逆,我火速辦了婚禮,結(jié)果婚禮上笛洛,老公的妹妹穿的比我還像新娘。我一直安慰自己撞蜂,他們只是感情好盲镶,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著溉贿,像睡著了一般枫吧。 火紅的嫁衣襯著肌膚如雪宇色。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天宣蠕,我揣著相機(jī)與錄音例隆,去河邊找鬼抢蚀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛皿曲,可吹牛的內(nèi)容都是我干的唱逢。 我是一名探鬼主播屋休,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼劫樟!你這毒婦竟也來(lái)了痪枫?” 一聲冷哼從身側(cè)響起叠艳,我...
    開(kāi)封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎虑绵,沒(méi)想到半個(gè)月后尿瞭,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體翅睛,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡黑竞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了很魂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扎酷。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡遏匆,死狀恐怖谁榜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凡纳,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布荐糜,位于F島的核電站巷怜,受9級(jí)特大地震影響暴氏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜答渔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一关带、第九天 我趴在偏房一處隱蔽的房頂上張望沼撕。 院中可真熱鬧,春花似錦端朵、人聲如沸好芭。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)敬拓。三九已至,卻和暖如春乘凸,著一層夾襖步出監(jiān)牢的瞬間厕诡,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工灵嫌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人葛作。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像赂蠢,于是被迫代替她去往敵國(guó)和親绪穆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

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

  • 分布式一致性回顧 在分布式系統(tǒng)中菠红,為了保證數(shù)據(jù)的高可用,通常难菌,我們會(huì)將數(shù)據(jù)保留多個(gè)副本(replica),這些副本...
    jiangmo閱讀 2,193評(píng)論 7 5
  • 一致性協(xié)議 在分布式系統(tǒng)中,每一個(gè)機(jī)器節(jié)點(diǎn)都能明確知道自己在進(jìn)行事務(wù)操作中的結(jié)果是成功還是失敗,但是無(wú)法直接獲取到...
    codingBen閱讀 2,468評(píng)論 0 4
  • 1.2pc 2pc(Two Phase Commitment Protocol)當(dāng)一個(gè)事務(wù)操作需要跨越多個(gè)分布式節(jié)...
    Mrsunup閱讀 1,192評(píng)論 0 0
  • 【月度檢視】201804淮南0501-韓杰記錄與反思使人成熟的是經(jīng)歷扔傅,不是日子 月度檢視#第14個(gè)月,2018年4...
    JIE胭脂雪閱讀 1,110評(píng)論 16 4
  • 由杭州九趣網(wǎng)絡(luò)有限公司代理發(fā)行的3D神魔MMORPG手游《逆火蒼穹》(游戲IOS版本名稱為《赤影魔神》)即將于...
    game花生仙子閱讀 145評(píng)論 0 0