關(guān)于分布式微服務(wù)下CAP理論的理解

0x0 前言

之前看過很多關(guān)于CAP的文章缝呕,一直很懵逼筹麸,今天談?wù)勎以陧椖恐杏龅降膯栴}以及對于CAP的理解

0x1 什么是CAP

image

1998年耸携,加州大學的計算機科學家 Eric Brewer 提出纵诞,分布式系統(tǒng)有三個指標忙干。

  • Consistency
  • Availability
  • Partition tolerance

它們的第一個字母分別是 C器予、A、P捐迫。

Eric Brewer 說乾翔,這三個指標不可能同時做到。這個結(jié)論就叫做 CAP 定理施戴。

0x2 工作中遇到的分布式問題

在去年項目微服務(wù)化時末融,遇到一個問題:
各個微服務(wù)組件雖然在業(yè)務(wù)上盡力解耦,但是仍然有部分數(shù)據(jù)是公共的暇韧,例如:人員信息,區(qū)域組織信息浓瞪,設(shè)備信息等懈玻。
這些基礎(chǔ)信息如何處理呢?有兩種方案:

  1. 使用時通過rest調(diào)用查詢到本地乾颁;
  2. 直接在本地也保存一份副本涂乌;

使用第一種方案,顯然效率是一個大問題英岭,而且該方案有個嚴重的問題是:當某個基礎(chǔ)服務(wù)掛掉或和其他服務(wù)連接出現(xiàn)問題時湾盒,其他服務(wù)都無法繼續(xù)提供服務(wù),即不滿足分區(qū)容錯(Partition tolerance)诅妹。
若使用第二種方案罚勾,那么每個服務(wù)不會受到其他服務(wù)掛掉或者與其他服務(wù)網(wǎng)絡(luò)不通的影響(因為本地有業(yè)務(wù)所需的全部數(shù)據(jù)),但是引入了另一個問題:各個服務(wù)數(shù)據(jù)可能存在不一致(Consistency)吭狡。
這時尖殃,我們需要看是否要保障數(shù)各個微服務(wù)據(jù)一致性,若需要保障一致性划煮,那么每次基礎(chǔ)數(shù)據(jù)服務(wù)在接收到變更送丰、刪除、增加請求時弛秋,都要對其他微服務(wù)也進行相應(yīng)的更新器躏,此時引入了一個新的問題:如果有一個服務(wù)掛掉俐载,則本次用戶的變更請求就會失敗,不滿足可用性(Availability)登失。

最終遏佣,決定使用mq通知的形式:當基礎(chǔ)數(shù)據(jù)變更后,發(fā)送MQ通知到Topic壁畸,各個微服務(wù)監(jiān)聽topic來修改本地存儲的相應(yīng)數(shù)據(jù)贼急。這個方案雖然不能保證強一致性,但是數(shù)據(jù)最終是一致的捏萍。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末太抓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子令杈,更是在濱河造成了極大的恐慌走敌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逗噩,死亡現(xiàn)場離奇詭異掉丽,居然都是意外死亡,警方通過查閱死者的電腦和手機异雁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門捶障,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人纲刀,你說我怎么就攤上這事项炼。” “怎么了示绊?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵锭部,是天一觀的道長。 經(jīng)常有香客問我面褐,道長拌禾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任展哭,我火速辦了婚禮湃窍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘匪傍。我一直安慰自己坝咐,他們只是感情好,可當我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布析恢。 她就那樣靜靜地躺著墨坚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泽篮,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天盗尸,我揣著相機與錄音,去河邊找鬼帽撑。 笑死泼各,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的亏拉。 我是一名探鬼主播扣蜻,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼及塘!你這毒婦竟也來了莽使?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤笙僚,失蹤者是張志新(化名)和其女友劉穎芳肌,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肋层,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡亿笤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了栋猖。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片净薛。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蒲拉,靈堂內(nèi)的尸體忽然破棺而出肃拜,到底是詐尸還是另有隱情,我是刑警寧澤全陨,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站衷掷,受9級特大地震影響辱姨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜戚嗅,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一雨涛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧懦胞,春花似錦替久、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至胀糜,卻和暖如春颅拦,著一層夾襖步出監(jiān)牢的瞬間蒂誉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工距帅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留右锨,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓碌秸,卻偏偏與公主長得像绍移,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子讥电,可洞房花燭夜當晚...
    茶點故事閱讀 44,960評論 2 355

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