程序要一定要明白的架構(gòu)-三地五中心(1)

昨天科技圈最火的新聞應(yīng)該是“AWS中國區(qū)光纜被挖向族,導(dǎo)致三星搀继、小米等眾多企業(yè)服務(wù)不可用”窘面。
又是光纜被挖,咦_辞财边?為什么是又,讓我們來一起回到過去:

  • 2019.6.02:亞馬遜光纜被挖斷,國內(nèi)部分地區(qū)網(wǎng)絡(luò)出現(xiàn)異常
  • 2019.3.23:施工隊(duì)挖斷騰訊光纖,致騰訊旗下100多款游戲受影響,損失大了
  • 2015.5.27:由于杭州市蕭山區(qū)某地光纖被挖斷点骑,造成目前少部分用戶無法使用支付寶

我這里只是列出來了幾家大公司所涉及到的光纜被挖事故酣难,其余還包括什么廣電光纜被挖,社保局光纜被挖就不列了黑滴,感興趣的自己去百度憨募。

好,我們發(fā)現(xiàn)“公司再大袁辈,也怕施工隊(duì)”菜谣,那么這種事故能怪施工隊(duì)嗎?個(gè)人覺得不能把責(zé)任都推給施工隊(duì)晚缩,當(dāng)然我們這里不討論這些尾膊,我們做為大公司,我們以后怎么預(yù)防這種現(xiàn)象呢荞彼?
這個(gè)我們可以來看下支付寶的解決辦法眯停,畢竟它老人家在2015年就經(jīng)歷過這種慘況了。

2018年9月20日卿泽,杭州云棲大會(huì)ATEC主論壇現(xiàn)場上演了一場特別的技術(shù)秀。螞蟻金服副CTO胡喜現(xiàn)場模擬挖斷支付寶近一半服務(wù)器的光纜滋觉。結(jié)果只過了26秒签夭,模擬環(huán)境中的支付寶就完全恢復(fù)了正常。

這種解決辦法就是“三地五中心”椎侠,這是一種機(jī)房架構(gòu)第租,即在三座城市部署五個(gè)機(jī)房,一旦其中一個(gè)或兩個(gè)機(jī)房發(fā)生故障我纪,依靠技術(shù)可以將故障城市的流量全部切換到運(yùn)行正常的機(jī)房慎宾。
那么在“三地五中心”之前還存在很多其他架構(gòu)丐吓,我們一一來看一下他們的特點(diǎn)。

災(zāi)難演進(jìn)

最初趟据,我們把應(yīng)用(一個(gè)非常簡單的只讀應(yīng)用券犁,比如一個(gè)顯示Hello World的網(wǎng)頁,不考慮數(shù)據(jù)存儲(chǔ))只放在一個(gè)機(jī)器上汹碱,那么當(dāng)這個(gè)服務(wù)器down機(jī)了粘衬,我們的應(yīng)用便不可用了。
所以咳促,我們考慮把我們的應(yīng)用放在多個(gè)機(jī)器上稚新,在公司單獨(dú)開辟一個(gè)機(jī)房來放置這些機(jī)器,這樣單獨(dú)某一個(gè)臺機(jī)器down機(jī)了并不影響我們的應(yīng)用跪腹。
但是褂删,如果你們公司某一天停電了呢?這個(gè)時(shí)候我們就考慮在這座城市的另外一個(gè)地方在放置一個(gè)機(jī)房冲茸,這是應(yīng)用就被部署在了同城的兩個(gè)機(jī)房(這個(gè)叫同城雙活
但是屯阀,如果你們城市某一天經(jīng)歷了海嘯、臺風(fēng)噪裕、地震等自然災(zāi)害蹲盘,兩個(gè)機(jī)房都不能使用了,這個(gè)時(shí)候我們就會(huì)考慮在另外一個(gè)城市再搭建一個(gè)機(jī)房來部署我們的應(yīng)用膳音,這樣我們應(yīng)用的可用性就更高了(這個(gè)叫異地多活)召衔。
好,到此為止不管出現(xiàn)什么樣的狀況祭陷,我們的應(yīng)用基本上都可用(除非地球毀滅...)

那么我們上面考慮的應(yīng)用是一個(gè)非常簡單的只讀應(yīng)用苍凛,所以各個(gè)地方的應(yīng)用是可以同時(shí)對外提供服務(wù)的,那么如果我們的應(yīng)用涉及到數(shù)據(jù)存儲(chǔ)兵志,這個(gè)時(shí)候各個(gè)地方的應(yīng)用就不能同時(shí)對外提供寫入數(shù)據(jù)的服務(wù)了醇蝴,因?yàn)楹苡锌赡軙?huì)出現(xiàn)數(shù)據(jù)沖突,那么我們暫且規(guī)定只有公司內(nèi)部機(jī)房里的服務(wù)器(后文我們叫主機(jī)房)可以提供寫數(shù)據(jù)服務(wù)想罕,而同城的另外一個(gè)機(jī)房以及異地的另外一個(gè)機(jī)房只能從主機(jī)房同步數(shù)據(jù)悠栓,這樣這兩個(gè)地方的機(jī)房的功能就叫災(zāi)備,因?yàn)閿?shù)據(jù)會(huì)同步按价,所以就算主機(jī)房停電了惭适,另外兩個(gè)機(jī)房還是可以臨時(shí)來對外提供服務(wù)的。所以現(xiàn)在的架構(gòu)可以如下:

image.png

當(dāng)主機(jī)房停電后楼镐,用戶會(huì)去請求北京備份機(jī)房癞志,當(dāng)北京備份機(jī)房也停電后,用戶會(huì)去請求上海備份機(jī)房框产。
好凄杯,對于這個(gè)架構(gòu)错洁,我們剛剛說只有主機(jī)房能對外提供服務(wù),另外兩個(gè)機(jī)房都只是作為容災(zāi)的備份戒突,那么也就是說備份機(jī)房利用率不高屯碴,因?yàn)楫吘拐U埱笙轮鳈C(jī)房不可能老停電,所以對于備份機(jī)房能不能提高它的利用率呢妖谴?當(dāng)然可以窿锉,我們可以讓北京的備份機(jī)房也去接收部分業(yè)務(wù)請求,只是這些請求可以沒那么重要膝舅,比如一些讀請求嗡载,而上海的備份機(jī)房不去接收請求,還是單純作為容災(zāi)備份機(jī)器仍稀,因?yàn)槿绻l都不能保證當(dāng)備份機(jī)房接收業(yè)務(wù)請求會(huì)不會(huì)出現(xiàn)其他不可預(yù)知的問題洼滚,那么現(xiàn)在三個(gè)機(jī)房的角色實(shí)際上已經(jīng)有些不同了:

image.png

這個(gè)就叫兩地三中心

那么兩地三中心這種架構(gòu)是目前很多銀行或大型企業(yè)正在使用的一種架構(gòu)技潘,因?yàn)閲裔槍︺y行的災(zāi)備能力做過要求遥巴,資產(chǎn)超過多少多少的一定要做兩地三中心架構(gòu),以保證銀行系統(tǒng)的穩(wěn)定享幽。

那么這種架構(gòu)有沒有它的缺點(diǎn)呢铲掐?我們來考慮一下它的可用性高不高?可用性的意思就是這個(gè)架構(gòu)處理用戶請求時(shí)夠不夠快值桩?
我們發(fā)現(xiàn)這種架構(gòu)摆霉,中心之間是需要數(shù)據(jù)備份的,那么對于數(shù)據(jù)備份只有兩種方式奔坟,要么異步携栋,要么同步。

  • 最大性能模式:如果是異步咳秉,表示用戶一個(gè)寫數(shù)據(jù)請求婉支,只要在生產(chǎn)數(shù)據(jù)中心存儲(chǔ)完數(shù)據(jù)后就會(huì)直接返回結(jié)果給用戶,同時(shí)異步去備份數(shù)據(jù)澜建,但是向挖,如果正準(zhǔn)備去異步備份數(shù)據(jù)的時(shí)候生產(chǎn)數(shù)據(jù)中心停電了~,那么這個(gè)時(shí)候還能將災(zāi)備服務(wù)器暴露出去給用戶提供服務(wù)嗎炕舵?不能了户誓,因?yàn)楹苡锌赡転?zāi)備中心的數(shù)據(jù)是過時(shí)的數(shù)據(jù)。
  • 最大保護(hù)模式:如果是同步幕侠,表示用戶一個(gè)寫數(shù)據(jù)請求,不僅要等待生產(chǎn)數(shù)據(jù)中心存儲(chǔ)完數(shù)據(jù)碍彭,還需要等其他災(zāi)備中心備份完數(shù)據(jù)后才能返回晤硕,而且僅僅當(dāng)災(zāi)備中心出現(xiàn)問題時(shí)悼潭,因?yàn)椴荒芡瓿蓴?shù)據(jù)的備份,所以整個(gè)架構(gòu)也不能對外提供服務(wù)舞箍,這種可用性是很低的舰褪。
  • 最大可用模式:這是普遍采用的方案,正常情況下使用最大保護(hù)模式疏橄,同時(shí)生產(chǎn)數(shù)據(jù)中心監(jiān)控災(zāi)備數(shù)據(jù)中心占拍,一旦發(fā)現(xiàn)某一災(zāi)備中心出現(xiàn)了問題,那么則會(huì)改為最大性能模式捎迫,這樣就保證了生產(chǎn)數(shù)據(jù)中心不受其他災(zāi)備中心影響晃酒。
  • 三寫兩同步:這是阿里之前的架構(gòu)模式,意思是同城三個(gè)中心窄绒,數(shù)據(jù)備份不是發(fā)生在數(shù)據(jù)庫層面贝次,而是應(yīng)用層,當(dāng)應(yīng)用向數(shù)據(jù)庫去寫數(shù)據(jù)時(shí)彰导,會(huì)同時(shí)向三個(gè)中心去寫數(shù)據(jù)蛔翅,只要有兩個(gè)中心返回成功即可,這樣就算三個(gè)中心有一個(gè)中心停電了位谋,那么并不影響整個(gè)架構(gòu)的高可用山析,這個(gè)思路和我們前面三種是不一樣的,性能肯定會(huì)高很多掏父。

好笋轨,我們介紹了一下兩地三中心,總結(jié)一下它的缺點(diǎn):

  1. 災(zāi)備中心利用率不高
  2. 生產(chǎn)數(shù)據(jù)中心停止運(yùn)行后损同,災(zāi)備中心中不一定有100%一模一樣的數(shù)據(jù)
  3. 成本高翩腐,但又無法真正實(shí)現(xiàn)期望的高可用能力

那么為了解決這個(gè)問題,就出現(xiàn)了三地五中心膏燃,雖然名字和兩地三中心類似茂卦,但提供的功能完全不同。

三地五中心是指三個(gè)城市组哩,5個(gè)中心等龙,三地五中心基于的概念是單元化,還得花很大篇幅來講伶贰,下一篇繼續(xù)吧蛛砰。

相信大家不喜歡在小小的手機(jī)屏幕上還看到一大塊的代碼,閱讀體驗(yàn)不好黍衙,所以我寫作的風(fēng)格會(huì)文字偏多一點(diǎn)泥畅。如果覺得有所收獲就給個(gè)小小的贊吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末琅翻,一起剝皮案震驚了整個(gè)濱河市位仁,隨后出現(xiàn)的幾起案子柑贞,更是在濱河造成了極大的恐慌,老刑警劉巖聂抢,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钧嘶,死亡現(xiàn)場離奇詭異,居然都是意外死亡琳疏,警方通過查閱死者的電腦和手機(jī)有决,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來空盼,“玉大人书幕,你說我怎么就攤上這事∥易ⅲ” “怎么了按咒?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長但骨。 經(jīng)常有香客問我励七,道長,這世上最難降的妖魔是什么奔缠? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任掠抬,我火速辦了婚禮,結(jié)果婚禮上校哎,老公的妹妹穿的比我還像新娘两波。我一直安慰自己,他們只是感情好闷哆,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布腰奋。 她就那樣靜靜地躺著,像睡著了一般抱怔。 火紅的嫁衣襯著肌膚如雪劣坊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天屈留,我揣著相機(jī)與錄音局冰,去河邊找鬼。 笑死灌危,一個(gè)胖子當(dāng)著我的面吹牛康二,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播勇蝙,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼沫勿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起藕帜,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤烫罩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后洽故,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盗誊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年时甚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哈踱。...
    茶點(diǎn)故事閱讀 38,646評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荒适,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出开镣,到底是詐尸還是另有隱情刀诬,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布邪财,位于F島的核電站陕壹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏树埠。R本人自食惡果不足惜糠馆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望怎憋。 院中可真熱鬧又碌,春花似錦、人聲如沸绊袋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽癌别。三九已至皂岔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間规个,已是汗流浹背凤薛。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留诞仓,地道東北人缤苫。 一個(gè)月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像墅拭,于是被迫代替她去往敵國和親活玲。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評論 2 348

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