“多活”不易! —— GitHub事件在前,青云推出真正的多活是良機(jī)也是挑戰(zhàn)!
來源: 企業(yè)網(wǎng)D1Net 作者:曹建菊
“多活”不易!活得有質(zhì)量更不容易!當(dāng)然,這里的“多活”并非生物學(xué)概念,一般常將“本地多活”與“異地災(zāi)備”拿來做比較。但最近“多活”被提起來的次數(shù)越來越多,也越來越被重視,GitHub事件成為多活這個(gè)技術(shù)領(lǐng)域的標(biāo)志性事件。
多活不易 GitHub標(biāo)志性事件回顧
GitHub在全球擁有2800萬用戶,托管著5700萬個(gè)代碼倉庫,Python、Ruby on Rails等絕大多數(shù)開源項(xiàng)目托管于此。被戲稱為“全球最大的同性交友社區(qū)”的GitHub,卻在2018年10月22日時(shí)出現(xiàn)了一次大規(guī)模的故障,導(dǎo)致服務(wù)中斷時(shí)間24小時(shí),這24小時(shí)故障導(dǎo)致絕大部分互聯(lián)網(wǎng)企業(yè)的技術(shù)人員無法正常工作,影響很大。
事實(shí)上,GitHub搭建了自己的多活系統(tǒng),而10月份的故障,正是因?yàn)槠涠嗷钕到y(tǒng)出現(xiàn)故障而導(dǎo)致的。GitHub兩個(gè)機(jī)房之間的網(wǎng)絡(luò)出現(xiàn)中斷,服務(wù)發(fā)生切換后,多活系統(tǒng)考慮不全,導(dǎo)致系統(tǒng)發(fā)生腦裂,兩邊數(shù)據(jù)不一致,為了保證用戶數(shù)據(jù)的一致性,只能直接停服,用了24小時(shí)時(shí)間恢復(fù)數(shù)據(jù),最終導(dǎo)致了服務(wù)中斷。
GitHub這樣一個(gè)實(shí)力強(qiáng)勁的技術(shù)網(wǎng)站,多活業(yè)務(wù)也出現(xiàn)了如此大的故障。由此可見,實(shí)現(xiàn)真正的多活并不容易。
什么是真正的多活?
不容易的多活技術(shù),催生的不僅是這個(gè)市場,更緣于業(yè)務(wù)對(duì)多活的需求。對(duì)客戶而言,業(yè)務(wù)的可靠性、連續(xù)性、穩(wěn)定性才是真正的訴求。
無論是設(shè)備還是硬件,便一定會(huì)有故障的幾率。電飯煲發(fā)生故障便無法做飯;熱水器發(fā)生故障就沒法洗澡;數(shù)據(jù)中心里需要依賴的硬件也有故障的可能性,服務(wù)器故障時(shí)會(huì)影響這臺(tái)服務(wù)器上運(yùn)行的所有虛擬主機(jī);交換機(jī)故障會(huì)影響數(shù)據(jù)中心網(wǎng)絡(luò)。即便是整個(gè)數(shù)據(jù)中心,也有可能因?yàn)閿嚯姟⑵鸹?、雷擊等原因發(fā)生整體故障。
因而,多活應(yīng)該是基于多個(gè)數(shù)據(jù)中心的多活,而且最終的多活一定是業(yè)務(wù)的多活,可以7*24小時(shí)保證業(yè)務(wù)在線,同時(shí)必須規(guī)避任何的單點(diǎn),包括一個(gè)數(shù)據(jù)中心內(nèi)部的單點(diǎn)甚至是整個(gè)數(shù)據(jù)中心宕機(jī)的單點(diǎn)。
青云QingCloud運(yùn)營副總裁林源在接受企業(yè)網(wǎng)D1Net記者采訪時(shí)指出:“部署多活,一定要理解多活的目的是什么?增強(qiáng)系統(tǒng)的可靠性、提升業(yè)務(wù)的連續(xù)性,使業(yè)務(wù)在運(yùn)行過程中不受任何故障和災(zāi)難的影響。這是多活的價(jià)值所在,這才是真正的多活。”
多活的兩大技術(shù)指標(biāo):RTO與RPO
多活有兩個(gè)重要的技術(shù)指標(biāo):一是RTO(業(yè)務(wù)恢復(fù)時(shí)間),二是RPO(數(shù)據(jù)的丟失量)。
這兩個(gè)指標(biāo)無論對(duì)于互聯(lián)網(wǎng)企業(yè)還是對(duì)于銀行等核心業(yè)務(wù),都至關(guān)重要。業(yè)務(wù)恢復(fù)時(shí)間決定了客戶體驗(yàn),數(shù)據(jù)的丟失量決定了數(shù)據(jù)的質(zhì)量,因此,這兩個(gè)指標(biāo)都必須趨近于0,同時(shí)需要保證是7*24小時(shí)在線的可用服務(wù)。
多活場景探討
并不是所有的場景都需要多活,因?yàn)槎嗷钚枰冻鲆欢ǖ某杀尽P枰嗷畹臉I(yè)務(wù),一是這個(gè)業(yè)務(wù)很重要,它故障后會(huì)影響公司業(yè)務(wù),導(dǎo)致客戶資金受損;二是這個(gè)業(yè)務(wù)面向廣泛的客戶,影響較大。一般包括如下幾類:
第一種是大規(guī)模線上運(yùn)營業(yè)務(wù),比如電商網(wǎng)站、微信、微博等,業(yè)務(wù)中斷是不能忍受的,因?yàn)槊刻於加写罅康目蛻粼谑褂眠@個(gè)服務(wù)。雙十一的每秒宕機(jī)就可能損失幾十萬筆交易,這樣的業(yè)務(wù)要求零中斷,必須保證業(yè)務(wù)的連續(xù)性。
第二種是銀行、保險(xiǎn)、重型制造等場景,銀行IT架構(gòu)需要符合銀監(jiān)會(huì)的規(guī)定,需要有兩地三中心。即兩個(gè)城市,三個(gè)數(shù)據(jù)中心的部署。
多活不易 “不易”的深層原因探討
多活不易,除了我們看到類似GitHub這樣的技術(shù)企業(yè)都很難搞定的表象外,更深層次的原因在于它是一個(gè)系統(tǒng)工程,既需要技術(shù),也需要人才儲(chǔ)備,還有各種大額成本投入等等因素。
首先,構(gòu)建多活系統(tǒng)成本極高,比如銀行兩地三中心的業(yè)務(wù)至少需要在兩個(gè)城市投入三個(gè)機(jī)房,三個(gè)機(jī)房需要有網(wǎng)絡(luò)連接,在每個(gè)機(jī)房里要投入大規(guī)模的硬件,業(yè)務(wù)在兩個(gè)機(jī)房都要部署,成本極高。
其次,多活系統(tǒng)需要招聘和培養(yǎng)專業(yè)人員;
第三,需要花費(fèi)大量的時(shí)間,挑機(jī)房、鋪光纖、鋪網(wǎng)絡(luò)。
實(shí)際上,要做好支撐業(yè)務(wù)的多活,首先需要在數(shù)據(jù)中心、網(wǎng)絡(luò)、數(shù)據(jù)、負(fù)載等層面做準(zhǔn)備,其次,作為一個(gè)復(fù)雜的系統(tǒng)工程,只要底層任意一個(gè)環(huán)節(jié)出現(xiàn)問題,便有可能造成整套多活系統(tǒng)的崩潰。
青云多活以服務(wù)形式交付多活能力
據(jù)林源介紹,青云多活推出的Region服務(wù),可以從基礎(chǔ)設(shè)施、基礎(chǔ)架構(gòu)(IaaS)、分布式應(yīng)用等各個(gè)層面提供多活基礎(chǔ)架構(gòu)服務(wù),以服務(wù)形式交付多活能力,從而讓客戶以更低的成本、更低的門檻部署他們自己的多活業(yè)務(wù)。
第一,青云將從基礎(chǔ)設(shè)施層持續(xù)投入,青云現(xiàn)有三個(gè)大區(qū)提供多活服務(wù):北京3區(qū)、廣東2區(qū)、上海1區(qū)。北京3區(qū)最早便上線了多活Region架構(gòu)。
第二,青云將在基礎(chǔ)架構(gòu)(IaaS)給用戶提供足夠多的通用組件,當(dāng)用戶部署業(yè)務(wù)時(shí),會(huì)需要負(fù)載均衡器、網(wǎng)絡(luò)、公網(wǎng)帶寬等。青云提供的負(fù)載均衡、網(wǎng)絡(luò)和公網(wǎng)本身均是多活架構(gòu)。
第三,青云將在應(yīng)用層或者PaaS層給用戶提供支撐,通過青云的MySQL Plus(基于MySQL的數(shù)據(jù)庫服務(wù))、MongoDB,為客戶提供數(shù)據(jù)庫服務(wù),讓用戶部署業(yè)務(wù)更簡單。
同時(shí),青云擁有全方位一體化的交付能力,不僅提供公有云服務(wù),也可以提供混合云和私有云的交付。在公有云上,青云可以交付多活的基礎(chǔ)設(shè)施;在混合云架構(gòu)下,也可以利用青云的SD-WAN骨干網(wǎng)加上私有云和公有云統(tǒng)一架構(gòu),給客戶提供混合云架構(gòu)下的多活基礎(chǔ)設(shè)施。
寫在最后
事實(shí)上,GitHub事件在前,讓多活解決方案提供商及服務(wù)商驚出一身冷汗的同時(shí),也倒逼各供應(yīng)商從技術(shù)與流程入手,更加努力為客戶提供一個(gè)更加穩(wěn)定的服務(wù)。這對(duì)行業(yè)而言無疑是從教訓(xùn)中長進(jìn)。
青云QingCloud推出的真正多活Region架構(gòu)服務(wù),是良機(jī)也是挑戰(zhàn)!
相關(guān)閱讀
財(cái)經(jīng)熱圖
熱門標(biāo)簽
關(guān)鍵詞: