分布式服務(wù)基礎(chǔ)理論知識(shí)—一些設(shè)計(jì)原則

我之前對(duì)分布式的理解(只是緣在此山中的淺顯認(rèn)識(shí)):

分布式=遠(yuǎn)程調(diào)用+多機(jī)服務(wù)侄非,通過增加機(jī)器形成集群可支撐更多的并發(fā)訪問量。實(shí)現(xiàn)多機(jī)服務(wù)就需要進(jìn)行ha和loadbalance策略劝评,等等徐伐。表現(xiàn)在web環(huán)境就是apache或者Nginx配置tomcat集群洼冻,或者基于某個(gè)開源rpc框架配置了一番瞧毙,能夠多機(jī)共同對(duì)外提供服務(wù)就是分布式系統(tǒng)了骤宣。

殊不知秦爆,這只是先入為主的主觀感受,就是把問題想當(dāng)然了憔披,因?yàn)槲覀兌荚陔S波逐流的用所謂的“分布式”等限,所以覺得分布式就應(yīng)該這樣。

而現(xiàn)在隨著知識(shí)的沉淀芬膝,對(duì)計(jì)算機(jī)底層知識(shí)的深入理解望门,才知道,通過增加機(jī)器形成集群雖然能支撐更多的并發(fā)訪問量(以前并未考慮是為什么锰霜,現(xiàn)在知道是受單機(jī)硬件和操作系統(tǒng)的限制筹误,解決了C10K問題),但是也會(huì)帶來其它問題癣缅,用CAP(這個(gè)理論也有一些人質(zhì)疑是偽命題)的理論來講就是厨剪,當(dāng)多機(jī)中有機(jī)器發(fā)生故障時(shí)哄酝,也就是P(分區(qū)容忍性(Partition tolerance))必然存在的情況下,如何進(jìn)行失效轉(zhuǎn)移丽惶,從而保證C(強(qiáng)一致性(Consistency))炫七、A(可用性(Availability))呢?

按照CAP理論钾唬,在分區(qū)網(wǎng)絡(luò)環(huán)境和操作系統(tǒng)一定會(huì)存在問題的情況下万哪,上面問題的答案是無解的。就是說P一定存在的情況下就是只能保證CA的其中一個(gè)抡秆。(否則的話問題退化為保證ACID(其中的C不同于CAP中的C)奕巍,目前主要有兩種方式實(shí)現(xiàn)ACID:第一種是Write ahead logging,也就是日志式的方式(現(xiàn)代數(shù)據(jù)庫均基于這種方式)儒士。第二種是Shadow paging的止。)

而我們?yōu)槭裁催€要繼續(xù)使用這種架構(gòu)呢?

其實(shí)對(duì)于大多數(shù)WEB應(yīng)用着撩,其實(shí)并不需要強(qiáng)一致性诅福,因此犧牲一致性而換取高可用性,是多數(shù)分布式架構(gòu)產(chǎn)品的方向拖叙。當(dāng)然氓润,犧牲一致性,并不是完全不管數(shù)據(jù)的一致性薯鳍,否則數(shù)據(jù)是混亂的咖气,那么系統(tǒng)可用性再高分布式再好也沒有了價(jià)值。犧牲一致性挖滤,只是不再要求像關(guān)系型數(shù)據(jù)庫中的強(qiáng)一致性崩溪,而是只要系統(tǒng)能達(dá)到最終一致性即可,考慮到客戶體驗(yàn)斩松,這個(gè)最終一致的時(shí)間窗口伶唯,要盡可能的對(duì)用戶透明,也就是需要保障“用戶感知到的一致性”砸民。通常是通過數(shù)據(jù)的多份異步復(fù)制來實(shí)現(xiàn)系統(tǒng)的高可用和數(shù)據(jù)的最終一致性的抵怎,“用戶感知到的一致性”的時(shí)間窗口則取決于數(shù)據(jù)復(fù)制到一致狀態(tài)的時(shí)間。

這就引發(fā)了目前的一個(gè)設(shè)計(jì)思想:

BASE思想

說起來很有趣岭参,BASE的英文意義是堿反惕,而ACID是酸。真的是水火不容啊演侯。

Basically Availble --基本可用

Soft-state --軟狀態(tài)/柔性事務(wù)

"Soft state" 可以理解為"無連接"的, 而 "Hard state" 是"面向連接"的

Eventual Consistency --最終一致性

最終一致性姿染, 也是 ACID 的最終目的。

BASE模型反ACID模型,完全不同ACID模型悬赏,犧牲高一致性狡汉,獲得可用性或可靠性: Basically Available基本可用。支持分區(qū)失敗(e.g. sharding碎片劃分?jǐn)?shù)據(jù)庫) Soft state軟狀態(tài) 狀態(tài)可以有一段時(shí)間不同步闽颇,異步盾戴。 Eventually consistent最終一致,最終數(shù)據(jù)是一致的就可以了兵多,而不是時(shí)時(shí)一致尖啡。

BASE思想的主要實(shí)現(xiàn)有

1.按功能劃分?jǐn)?shù)據(jù)庫

2.sharding碎片

BASE思想主要強(qiáng)調(diào)基本的可用性,如果你需要高可用性剩膘,也就是純粹的高性能衅斩,那么就要以一致性或容錯(cuò)性為犧牲,BASE思想的方案在性能上還是有潛力可挖的怠褐。

參考:分布式基礎(chǔ)(1):CAP原理畏梆、BASE思想和最終一致性

CAP理論十二年回顧:"規(guī)則"變了

不懂點(diǎn)CAP理論,你好意思說你是做分布式的嗎奈懒?

分布式系統(tǒng)架構(gòu)的基本原則和實(shí)踐

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末奠涌,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子磷杏,更是在濱河造成了極大的恐慌铣猩,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茴丰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡天吓,警方通過查閱死者的電腦和手機(jī)贿肩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來龄寞,“玉大人汰规,你說我怎么就攤上這事∥镆兀” “怎么了溜哮?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)色解。 經(jīng)常有香客問我茂嗓,道長(zhǎng),這世上最難降的妖魔是什么科阎? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任述吸,我火速辦了婚禮,結(jié)果婚禮上锣笨,老公的妹妹穿的比我還像新娘蝌矛。我一直安慰自己道批,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布入撒。 她就那樣靜靜地躺著隆豹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茅逮。 梳的紋絲不亂的頭發(fā)上璃赡,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音氮唯,去河邊找鬼鉴吹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛惩琉,可吹牛的內(nèi)容都是我干的豆励。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼瞒渠,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼良蒸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起伍玖,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤嫩痰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后窍箍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體串纺,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年椰棘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了纺棺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡邪狞,死狀恐怖祷蝌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情帆卓,我是刑警寧澤巨朦,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站剑令,受9級(jí)特大地震影響糊啡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜尚洽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一悔橄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦癣疟、人聲如沸挣柬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽邪蛔。三九已至,卻和暖如春扎狱,著一層夾襖步出監(jiān)牢的瞬間侧到,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國打工淤击, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留匠抗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓污抬,卻偏偏與公主長(zhǎng)得像汞贸,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子印机,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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