3.分布式事務(wù)基礎(chǔ)理論-理解CAP

分布式事務(wù)基礎(chǔ)理論

  • 通過前面的學(xué)習(xí)典阵,我們了解到了分布式事務(wù)的基礎(chǔ)概念。與本地事務(wù)不同的是浸颓,分布式系統(tǒng)之所以叫分布式物臂,是因?yàn)樘峁┓?wù)的各個(gè)節(jié)點(diǎn)分布在不同機(jī)器上旺拉,相互之間通過網(wǎng)絡(luò)交互。不能因?yàn)橛幸稽c(diǎn)網(wǎng)絡(luò)問題就導(dǎo)致整個(gè)系統(tǒng)無法提供服務(wù)棵磷,網(wǎng)絡(luò)因素成為了分布式事務(wù)的考量標(biāo)準(zhǔn)之一蛾狗。因此,分布式事務(wù)需要更進(jìn)一步的理論支持仪媒,接下來沉桌,我們先來學(xué)習(xí)一下分布式事務(wù)的CAP理論。

CAP理論

理解CAP

  • CAP是 Consistency算吩,Availability留凭,Partition tolerance三個(gè)詞語的縮寫,分別為表示一致性偎巢,可用性蔼夜,分區(qū)容錯(cuò)性
  • 下邊我們分別來理解:
  • 為了方便理解CAP理論的理解压昼,我們結(jié)合電商系統(tǒng)中的一些業(yè)務(wù)場(chǎng)景來理解CAP求冷。
  • 如下圖,是商品信息管理的執(zhí)行流程:


    image
  • 整體執(zhí)行流程如下:
  • 1.商品服務(wù)請(qǐng)求主數(shù)據(jù)庫寫入商品信息(添加商品窍霞,修改商品遵倦,刪除商品)。
  • 2.主數(shù)據(jù)庫向商品服務(wù)響應(yīng)寫入成功官撼。
  • 3.商品服務(wù)請(qǐng)求從數(shù)據(jù)庫讀取商品信息梧躺。

C-Consistency:

  • 一致性是指寫操作后的讀操作可以讀取到最新的數(shù)據(jù)狀態(tài),當(dāng)數(shù)據(jù)分布在多個(gè)節(jié)點(diǎn)上傲绣,從任意結(jié)點(diǎn)讀取到的數(shù)據(jù)都是最新的狀態(tài)掠哥。
  • 上圖中,商品信息的讀寫要滿足一致性就是要實(shí)現(xiàn)如下目標(biāo):
  • 1.商品服務(wù)寫入主數(shù)據(jù)庫成功秃诵,則向從數(shù)據(jù)庫查詢新數(shù)據(jù)也成功续搀。
  • 2.商品服務(wù)寫入主數(shù)據(jù)失敗,則向從數(shù)據(jù)庫查詢新數(shù)據(jù)也失敗菠净。
如何實(shí)現(xiàn)一致性禁舷?
  • 1.寫入主數(shù)據(jù)庫后要將數(shù)據(jù)同步到從數(shù)據(jù)庫。
  • 2.寫入主數(shù)據(jù)庫后毅往,在向從數(shù)據(jù)庫同步期間要將從數(shù)據(jù)庫鎖定牵咙,待同步完成后再釋放鎖,以免在新數(shù)據(jù)寫入成功后攀唯,向從數(shù)據(jù)庫查詢到舊的數(shù)據(jù)洁桌。
分布式系統(tǒng)一致性的特點(diǎn):
  • 1.由于存在數(shù)據(jù)同步的過程,寫操作的響應(yīng)會(huì)有一定延遲侯嘀。
  • 2.為了保證數(shù)據(jù)一致性對(duì)資源暫時(shí)鎖定另凌,待數(shù)據(jù)同步完成釋放鎖定資源谱轨。

A-Availability

  • 可用性是指任何事務(wù)操作都可以得到響應(yīng)結(jié)果,且不會(huì)出現(xiàn)響應(yīng)超時(shí)或響應(yīng)錯(cuò)誤吠谢。
  • 上圖中土童,商品信息讀取滿足可用性就是要實(shí)現(xiàn)如下目標(biāo):
  • 1.從數(shù)據(jù)庫收到數(shù)據(jù)查詢的請(qǐng)求則立即能夠響應(yīng)數(shù)據(jù)查詢結(jié)果。
  • 2.從數(shù)據(jù)庫不允許出現(xiàn)響應(yīng)超時(shí)或響應(yīng)錯(cuò)誤工坊。
如何實(shí)現(xiàn)可用性娜扇?
  • 1.寫入主數(shù)據(jù)庫后要將數(shù)據(jù)同步到從數(shù)據(jù)庫。
  • 1.由于要保證從數(shù)據(jù)庫的可用性栅组,不可將從數(shù)據(jù)庫的資源進(jìn)行鎖定雀瓢。
  • 3.即時(shí)數(shù)據(jù)還沒有同步過來,從數(shù)據(jù)庫也要返回要查詢的數(shù)據(jù)玉掸,哪怕是舊數(shù)據(jù)刃麸,如果連舊數(shù)據(jù)也沒有則可以按照約定返回一個(gè)默認(rèn)信息,但不能返回錯(cuò)誤或響應(yīng)超時(shí)司浪。
分布式系統(tǒng)可用性的特點(diǎn):
  • 1.所有請(qǐng)求都有響應(yīng)泊业,且不會(huì)出現(xiàn)響應(yīng)超時(shí)或響應(yīng)錯(cuò)誤。

P-Partition tolerance:

  • 通常分布式系統(tǒng)的各各結(jié)點(diǎn)部署在不同的子網(wǎng)啊易,這就是網(wǎng)絡(luò)分區(qū)吁伺,不可避免的會(huì)出現(xiàn)由于網(wǎng)絡(luò)問題而導(dǎo)致節(jié)點(diǎn)之間通信失敗,此時(shí)仍可對(duì)外提供服務(wù)租谈,這叫分區(qū)容錯(cuò)性篮奄。
  • 上圖中,商品信息讀寫滿足分區(qū)容錯(cuò)性就是要實(shí)現(xiàn)如下目標(biāo):
  • 1.主數(shù)據(jù)庫向從數(shù)據(jù)庫同步數(shù)據(jù)失敗不影響讀寫操作割去。
  • 2.其一個(gè)節(jié)點(diǎn)掛掉不影響另一個(gè)結(jié)點(diǎn)對(duì)外提供服務(wù)窟却。
如何實(shí)現(xiàn)分區(qū)容錯(cuò)性?
  • 1.盡量使用異步取代同步操作呻逆,例如使用異步方式將數(shù)據(jù)從主數(shù)據(jù)庫同步到從數(shù)據(jù)庫夸赫,這樣結(jié)點(diǎn)之間能有效的實(shí)現(xiàn)耦合。
  • 2.添加從數(shù)據(jù)庫結(jié)點(diǎn)咖城,其中一個(gè)結(jié)點(diǎn)掛掉其他從結(jié)點(diǎn)提供服務(wù)茬腿。
分布式分區(qū)容錯(cuò)性的特點(diǎn):
  • 1.分區(qū)容錯(cuò)性是分布式系統(tǒng)具備的基本能力。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宜雀,一起剝皮案震驚了整個(gè)濱河市切平,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌州袒,老刑警劉巖揭绑,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異郎哭,居然都是意外死亡他匪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門夸研,熙熙樓的掌柜王于貴愁眉苦臉地迎上來邦蜜,“玉大人,你說我怎么就攤上這事亥至〉可颍” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵姐扮,是天一觀的道長(zhǎng)絮供。 經(jīng)常有香客問我,道長(zhǎng)茶敏,這世上最難降的妖魔是什么壤靶? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮惊搏,結(jié)果婚禮上贮乳,老公的妹妹穿的比我還像新娘。我一直安慰自己恬惯,他們只是感情好向拆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著酪耳,像睡著了一般浓恳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上碗暗,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天奖蔓,我揣著相機(jī)與錄音,去河邊找鬼讹堤。 笑死吆鹤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的洲守。 我是一名探鬼主播疑务,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼梗醇!你這毒婦竟也來了知允?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤叙谨,失蹤者是張志新(化名)和其女友劉穎温鸽,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涤垫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年姑尺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝠猬。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡切蟋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出榆芦,到底是詐尸還是另有隱情柄粹,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布匆绣,位于F島的核電站驻右,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏崎淳。R本人自食惡果不足惜堪夭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凯力。 院中可真熱鬧茵瘾,春花似錦、人聲如沸咐鹤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽祈惶。三九已至雕旨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間捧请,已是汗流浹背凡涩。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疹蛉,地道東北人活箕。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像可款,于是被迫代替她去往敵國(guó)和親育韩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

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