丁海驁
“青云QingCloud在北京、廣東和上海三地擁有多活數(shù)據(jù)中心,以北京為例,這是我們最早上線的多活Region架構(gòu)?!绷衷矗嘣芉ingCloud運營副總裁日前在接受采訪時談到,青云QingCloud已經(jīng)從基礎(chǔ)設(shè)施層、基礎(chǔ)架構(gòu)層(或IaaS)和分布式應(yīng)用層(或PaaS層)做好了為用戶提供多活部署方式的準備。
那么,什么是多活?
一般來講,隨著企業(yè)數(shù)字化轉(zhuǎn)型的開展,企業(yè)的業(yè)務(wù)與IT基礎(chǔ)架構(gòu)和數(shù)據(jù)之間的關(guān)聯(lián)越來越密切,所以如何保障數(shù)據(jù)安全和業(yè)務(wù)全天連續(xù)運營,成為企業(yè)在IT建設(shè)過程當(dāng)中越來越關(guān)注的問題。在以往的企業(yè)IT架構(gòu)當(dāng)中,一般都會因此設(shè)置兩個或多個數(shù)據(jù)中心:其中一個為主數(shù)據(jù)中心,一個為備用數(shù)據(jù)中心。日常工作中:主數(shù)據(jù)中心承擔(dān)主要業(yè)務(wù)負載和數(shù)據(jù)處理,備用數(shù)據(jù)中心則主要用于備份主中心的業(yè)務(wù)過程、數(shù)據(jù)等。只有當(dāng)主數(shù)據(jù)中心發(fā)生諸如宕機等意外時,備用數(shù)據(jù)才會臨時承擔(dān)起主數(shù)據(jù)中心的工作,通過快速恢復(fù)數(shù)據(jù)等,一方面保證業(yè)務(wù)的連貫,另一方面減輕業(yè)務(wù)間斷造成的損失。
這被稱為單活。而雙活是在此基礎(chǔ)上,將備用數(shù)據(jù)中心與主數(shù)據(jù)中心放在同樣平行的位置,共同承擔(dān)業(yè)務(wù)負載,同步復(fù)制數(shù)據(jù),這樣不僅降低了原來單活架構(gòu)帶來的資源浪費,而且當(dāng)其中任意一個數(shù)據(jù)中心發(fā)生宕機時,另一個同樣能夠快速恢復(fù)數(shù)據(jù)和業(yè)務(wù),同樣可以保證業(yè)務(wù)的連續(xù)性。
“曾經(jīng)在2014年,某銀行核心系統(tǒng)宕機,中斷服務(wù)37小時。在這37個小時內(nèi),所有跟該銀行相關(guān)的賬戶無法存款或者取款。假如此時有人生病在需要取錢,那就意味著可能會造成延誤37個小時才能就診處置,生命攸關(guān)?!绷衷丛趶娬{(diào)多活的重要性的同時,也強調(diào),雖然多活能夠增強系統(tǒng)的可靠性、提升業(yè)務(wù)的連續(xù)性,保證業(yè)務(wù)在運行過程中不受任何故障和災(zāi)難的影響,但是,也并不是所有的場景都需要多活,用戶需要用RTO和RPO兩個技術(shù)指標來衡量自己業(yè)務(wù)對多活的需求程度。
其中,RTO指業(yè)務(wù)恢復(fù)時間;RPO是數(shù)據(jù)丟失量?!按蠹彝嬗螒驎r肯定有一個體驗,當(dāng)我要射擊時,發(fā)現(xiàn)手機卡了,或者是服務(wù)卡了,這很有可能是數(shù)據(jù)中心出現(xiàn)故障。但是卡了10秒或者半分鐘后,就恢復(fù)了,那么這10秒鐘就被稱之為RTO。”林源舉例強調(diào),一般互聯(lián)網(wǎng)行業(yè)對于PRO更加關(guān)注,而金融、保險等對數(shù)據(jù)安全性要求更高的行業(yè),則對RPO更關(guān)注:“如果你欠一個朋友10萬元,在還錢過程中,銀行發(fā)生故障。比較好的情況是你朋友收到了10萬塊,但你這邊沒有扣款;比較不好的是你的賬號扣款了,但是你朋友沒有收到。無論哪種情況,都說明銀行在交易過程中出現(xiàn)故障,并且在故障恢復(fù)后,數(shù)據(jù)丟失了。而且不管丟失哪段交易,都會對數(shù)據(jù)的一致性造成影響,這是不能忍受的。”
顯然,RTO和RPO所定義的兩種業(yè)務(wù)形態(tài),前者業(yè)務(wù)面向廣泛的客戶,發(fā)生故障影響比較大,如電商網(wǎng)站、微信、微博等;后者是業(yè)務(wù)本身很重要,發(fā)生故障后會影響公司業(yè)務(wù),導(dǎo)致客戶資金受損,如銀行、保險、重型制造等業(yè)務(wù)場景。“在傳統(tǒng)意義上,這些對多活需求較高的業(yè)務(wù)場景,也往往因為成本高、人才短缺、建設(shè)周期長、技術(shù)難度大的情況,導(dǎo)致用戶企業(yè)需要付出相當(dāng)大的決心和成本才能是實現(xiàn)。”而且林源也強調(diào),即便如此,也不能保證能夠?qū)崿F(xiàn)預(yù)期的目標:“GitHub在10月22日時,出現(xiàn)一次比較大規(guī)模的故障,導(dǎo)致服務(wù)中斷的時間達到24小時。由于有80%以上的工程師平時的工作依賴GitHub,所以這24小時的故障又導(dǎo)致了絕大部分互聯(lián)網(wǎng)企業(yè)的技術(shù)人員無法正常工作。而這次故障恰恰是因為他們的多活系統(tǒng)出現(xiàn)故障而導(dǎo)致的:兩個機房之間的網(wǎng)絡(luò)出現(xiàn)了中斷,服務(wù)發(fā)生切換時,由于多活系統(tǒng)考慮不全,導(dǎo)致系統(tǒng)發(fā)生腦裂,兩邊的數(shù)據(jù)不一致。為了保證用戶數(shù)據(jù)的一致性,GitHub只能直接停服,用24小時的時間恢復(fù)數(shù)據(jù)。”
林源認為,通過云為用戶提供多活,則能幫助用戶在業(yè)務(wù)和IT之間,找到更好的結(jié)合點,讓企業(yè)用戶更專注于自己業(yè)務(wù)。
在林源的介紹中,在基礎(chǔ)設(shè)施層,青云QingCloud有三個地區(qū)的數(shù)據(jù)中心有多活服務(wù)——北京、廣東和上海,通過青云QingCloud多活Region架構(gòu),一個Region由多個可用區(qū)或者多個數(shù)據(jù)中心構(gòu)成,用戶可以在北京選擇三個機房作為數(shù)據(jù)中心:北京3B、北京3C、北京3D。通過多機房之間的互聯(lián),保證數(shù)據(jù)中心的互聯(lián)帶寬和延遲時間能夠符合用戶的需求。同時,在基礎(chǔ)架構(gòu)(IaaS)層,青云QingCloud提供通用組件能夠幫助用戶部署多活的負載均衡、網(wǎng)絡(luò),保證在極端情況下,任意一個數(shù)據(jù)中心宕機,都不會影響用戶使用負載均衡器的服務(wù),不會影響外網(wǎng)。在應(yīng)用層(或者PaaS層),青云QingCloud的MySQL Plus(基于MySQL的數(shù)據(jù)庫服務(wù))、MongoDB,本身就支持多活的部署,因此任何一個數(shù)據(jù)中心的宕機都不會影響數(shù)據(jù)庫。不僅如此,通過青云的SD-WAN智能廣域網(wǎng)加上私有云和公有云統(tǒng)一架構(gòu),甚至可以為用戶部署一個混合云架構(gòu)下的多活地基礎(chǔ)設(shè)施。
“簡單地說,如果用戶想構(gòu)建多活的業(yè)務(wù),只需要做最簡單的應(yīng)用層部分和中間件的部分,其他有關(guān)負載均衡器、Redis、MySQL以及多個數(shù)據(jù)中心之間的互聯(lián),都是由青云提供。因此對于用戶來講,現(xiàn)在部署一個多活的應(yīng)用或者多活的業(yè)務(wù)就會變得很簡單,而且很便宜?!绷衷凑f。
寫在最后
技術(shù)的進步是讓用戶可以不用學(xué)習(xí)更多的專業(yè)技能,讓部署、應(yīng)用和維護更簡單。這也是云計算能夠在如此短時間內(nèi),就徹底改變原有IT世界格局的一個重要原因。無論從哪個方面講:讓專業(yè)的人,利用專業(yè)的知識解決專業(yè)的問題,對整個社會都是最有效率的一種分工。