災(zāi)備系統(tǒng)和應(yīng)急管理體系建設(shè)是數(shù)據(jù)中心永不變更的熱點(diǎn)話題。從“兩地三中心”、“同城雙活”到“異地雙活”,業(yè)內(nèi)的討論層出不窮。即使在容災(zāi)備份領(lǐng)域較早入手的金融行業(yè),在災(zāi)備切換時(shí)也是謹(jǐn)慎再謹(jǐn)慎的,在歷年“真實(shí)切換”演練時(shí)“手軟”的例子更是不勝枚舉。究其根源,除了應(yīng)急預(yù)案不完善、災(zāi)難恢復(fù)演練不到位之外,單純硬件和軟件很難完全解決業(yè)務(wù)連續(xù)性問題才是關(guān)鍵。事實(shí)上,將業(yè)務(wù)系統(tǒng)切換到災(zāi)備中心容易,但故障消除后,將業(yè)務(wù)系統(tǒng)再調(diào)回生產(chǎn)中心,需要保證數(shù)據(jù)庫的完整,其中數(shù)據(jù)同步效率更加需要底層的支持,其過程異常復(fù)雜。
但只有數(shù)據(jù)中心異地雙活才能真正應(yīng)對(duì)地震、雪災(zāi)、網(wǎng)絡(luò)癱瘓等災(zāi)難事件,實(shí)現(xiàn)跨地域的容災(zāi)能力,保障不受單地域的災(zāi)難的影響。阿里11.11直播現(xiàn)場(見《【觀察】阿里11.11第六年,用我們的視角直播技術(shù)與數(shù)據(jù)》), 連續(xù)六年“雙十一”技術(shù)總負(fù)責(zé)人阿里巴巴副總裁劉振飛特別提到:本次雙十一交易能力達(dá)到每秒8萬筆的上限;支付能力在峰值能力突破每秒 3.8萬筆,準(zhǔn)備階段提供了500套技術(shù)預(yù)案,共計(jì)8次技術(shù)演練,支付、手機(jī)客戶端體驗(yàn)、ODPS、OceanBase和數(shù)據(jù)中心異地雙活都是其中很關(guān)鍵的技術(shù)考驗(yàn)點(diǎn)。“阿里歷史上第一次打通了交易平臺(tái)和支付平臺(tái),8次演練中遇到很多問題都得到了解決。所以今年高峰到來,我們淡定迎接了挑戰(zhàn)。”
阿里技術(shù)保障部資深總監(jiān) 周明
在支付、移動(dòng)適配、ODPS、OceanBase等技術(shù)方面,CSDN云計(jì)算曾有多次不同報(bào)道。而數(shù)據(jù)中心異地雙活卻是極少出現(xiàn),以雙十一的規(guī)模來計(jì)算,其背后所代表的將是超越以往常規(guī)應(yīng)用的技術(shù)實(shí)現(xiàn)。為此,直播間隙,特別采訪了阿里技術(shù)保障部資深總監(jiān)周明。他對(duì)我說:數(shù)據(jù)中心異地雙活2013年就已啟動(dòng),直到近期才正式完成,剛好趕上雙十一。能夠做到數(shù)據(jù)庫同步,保證數(shù)據(jù)的一致性,解決距離帶來訪問延遲的超大體量電商網(wǎng)站數(shù)據(jù)中心異地雙活,目前全球只有阿里巴巴已完成部署。
從2013年近2000套到2014年500套技術(shù)預(yù)案,大幅減少的原因是什么?
周明:這幾年中,阿里對(duì)整體系統(tǒng)運(yùn)行情況越來越清晰,所以有些技術(shù)預(yù)案就不再需要了;另一方面,我們將一些系統(tǒng)進(jìn)行了合并,比如淘寶、天貓、無線等。這些系統(tǒng)最初因?yàn)闃I(yè)務(wù)發(fā)展需要而相對(duì)獨(dú)立,但隨著規(guī)模越加巨大,系統(tǒng)中的一些公共功能是相同的,將這些功能提煉出來后,形成公共平臺(tái)。這樣,更加彈性和可控,而且整體系統(tǒng)數(shù)量就減少了,與之對(duì)應(yīng)的是,系統(tǒng)預(yù)案也減少了。比如云梯1(Hadoop系統(tǒng))和云梯2(飛天5K+ODPS)的系統(tǒng)更替,以及登月計(jì)劃將更多業(yè)務(wù)部門數(shù)據(jù)遷移到ODPS上就是這樣的變化。這兩點(diǎn)也使得備戰(zhàn)雙十一時(shí)的技術(shù)預(yù)案大幅減少。
500套技術(shù)預(yù)案怎么劃分的?
周明:我們的預(yù)案可以從訪問量、業(yè)務(wù)、用戶、系統(tǒng)等多個(gè)視角來劃分。在雙十一中,技術(shù)保障團(tuán)隊(duì)要提供基礎(chǔ)架構(gòu)服務(wù),如數(shù)據(jù)中心包含服務(wù)器、網(wǎng)絡(luò)、存儲(chǔ)在內(nèi)的整體基礎(chǔ)設(shè)施;提供基礎(chǔ)服務(wù),如負(fù)載均衡,協(xié)議等,以及研發(fā)一些基礎(chǔ)系統(tǒng);運(yùn)營在平臺(tái)上的業(yè)務(wù)系統(tǒng)的保障,保證系統(tǒng)能夠在雙十一能夠應(yīng)對(duì)高峰挑戰(zhàn)。簡單說,就是從IDC機(jī)房到中間運(yùn)行應(yīng)用的基礎(chǔ)平臺(tái)再到應(yīng)用系統(tǒng)的保障,因此我們也在各個(gè)環(huán)節(jié)準(zhǔn)備了相應(yīng)的預(yù)案。
其實(shí)去年雙11,全集團(tuán)準(zhǔn)備了2000多套技術(shù)預(yù)案,今年一方面大促的技術(shù)打法越來越成熟,另一方面通過多次演練對(duì)系統(tǒng)容量和極限做到心中有數(shù),因此預(yù)案數(shù)量降到了不到500套,不但大大減少了產(chǎn)品、開發(fā)和測試的工作量,而且也降低了雙11當(dāng)天技術(shù)決策的復(fù)雜性。
交易能力達(dá)到每秒8萬筆的上限;支付能力在峰值能力突破每秒3.8萬筆。是否在預(yù)估內(nèi)?
周明:都在預(yù)估內(nèi),各個(gè)技術(shù)部門都做了充分的準(zhǔn)備,從10月份開始也進(jìn)行了多次聯(lián)合演練。
技術(shù)保障提到一共做了8次演練,螞蟻金服魯肅提到了10次。哪些是你們重復(fù)演練的?
周明:各個(gè)部門會(huì)先分頭演練,然后再聯(lián)合演練,今年全集團(tuán)打通集體演練共有8次。另外,今年是第一次把交易和支付系統(tǒng)打通演練,徹底掃清了兩套系統(tǒng)的接口之間可能存在的技術(shù)灰色地帶,特別是模擬了數(shù)據(jù)高峰的情形,讓我們充滿信心地應(yīng)對(duì)雙11大考。
首次打通了交易平臺(tái)和支付平臺(tái)。其中在技術(shù)方面遭遇了哪些挫折和挑戰(zhàn)?如何應(yīng)對(duì)的?
周明:確實(shí)比預(yù)想的要多。首先是業(yè)務(wù)需要,運(yùn)營活動(dòng)在最初的時(shí)候很難有明確預(yù)計(jì),很難思考的很成熟,所以很多需求都是逐漸變化的,我們也要隨之改變,靈活性上很有挑戰(zhàn);其次是技術(shù)上看,當(dāng)規(guī)模達(dá)到一定程度后,無論是對(duì)應(yīng)用系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)還是銀行支付等渠道,都有更大挑戰(zhàn),比如10月份啟動(dòng)技術(shù)演練的時(shí)候,并不是一開始就成功的,我們也遇到了非常多的大大小小的問題,比如出現(xiàn)Bug,能力夠不到,模擬數(shù)據(jù)有問題等,直到第六次、第七次演練時(shí),才跑通。
為了應(yīng)對(duì)這些挑戰(zhàn),我們要更好地實(shí)現(xiàn)系統(tǒng)彈性擴(kuò)容,包括“數(shù)據(jù)中心異地雙活”和“服務(wù)器資源彈性部署”。前者真正使電商網(wǎng)站具備跨地域的容災(zāi)能力,保障不受單地域的災(zāi)難的影響。即使杭州遭遇了極端的自然災(zāi)害,數(shù)據(jù)中心“全軍覆沒”,雙11仍然能夠順利運(yùn)轉(zhuǎn);后者服務(wù)器資源彈性部署,可以應(yīng)對(duì)不可預(yù)知的業(yè)務(wù)爆發(fā)。一旦有超出預(yù)期的業(yè)務(wù)熱點(diǎn)出現(xiàn),系統(tǒng)可自動(dòng)調(diào)用其他資源使用不足的服務(wù)器,實(shí)現(xiàn)分鐘級(jí)無縫切換,在不增加硬件部署的情況下應(yīng)對(duì)更復(fù)雜的流量變化。除此以外,今年的雙十一還首次啟動(dòng)阿里自主研發(fā)的OceanBase云數(shù)據(jù)庫承擔(dān)部分流量,也帶來了一些新課題,但解決上都比較順利。最終很好的應(yīng)對(duì)了雙十一的數(shù)據(jù)高峰的挑戰(zhàn)。
為什么一定要考慮異地雙活?
周明:阿里規(guī)模已經(jīng)這么大,異要雙活是我們技術(shù)必須要考慮的安全措施。無論將因?yàn)楹畏N原因造成服務(wù)停止都將影響很多商家,影響生態(tài)鏈條上的各個(gè)企業(yè)。交易平臺(tái)常用的主備模式(Active-Standby)看似備份但真正到恢復(fù)階段是有不確定性,只能保證數(shù)據(jù)不丟失,但無法做到在主機(jī)房重大故障時(shí)對(duì)業(yè)務(wù)沒有影響。而兩地三中心這種模式,在確保數(shù)據(jù)一致性方面也有著很大挑戰(zhàn),所以我們2013上半年就做出重要決定,要做真正的異地雙活。經(jīng)過一年多的努力,投入很多技術(shù)才人和資源,順利在雙11之前落地。
除了容災(zāi),異地雙活還有個(gè)重要的意義就是大幅提高水平伸縮能力。業(yè)務(wù)單元化部署是實(shí)現(xiàn)異地雙活的基礎(chǔ),飛速增長的業(yè)務(wù)可能在現(xiàn)有架構(gòu)下遇到瓶頸,需要擴(kuò)容時(shí),不論是部署成本還是效率,通過單元化部署打通多個(gè)數(shù)據(jù)中心資源都是最好的辦法。
當(dāng)時(shí)感覺最大的挑戰(zhàn)是什么?
周明:經(jīng)歷了五年雙十一的考驗(yàn),在技術(shù)保障方面我們心中比較踏實(shí)了。但異地雙活卻是第一次經(jīng)歷這么大規(guī)模的雙十一,因此最擔(dān)心異地雙活的模式能否承受高峰壓力。尤其是異地雙活實(shí)現(xiàn)技術(shù)難度非常大,全球都沒有可參考的成功經(jīng)驗(yàn),而且電商業(yè)務(wù)的數(shù)據(jù)是多緯度的,例如有商品、買家和賣家緯度,對(duì)數(shù)據(jù)一致性的要求比其他例如社交、搜索、視頻等領(lǐng)域都高很多。舉個(gè)例子,雙活數(shù)據(jù)中心數(shù)據(jù)庫方面要求同時(shí)存儲(chǔ),搜索結(jié)果差個(gè)幾百條結(jié)果互聯(lián)網(wǎng)用戶很難有感知,但交易數(shù)據(jù)哪怕是一個(gè)小數(shù)點(diǎn)后幾位都要保證一致,但現(xiàn)實(shí)情況是,因?yàn)榫嚯x和訪問延遲等因素,都容易帶來數(shù)據(jù)的不一致。而在雙十一這樣的高壓下,出現(xiàn)各式各樣的情況都是很可能的。
為了準(zhǔn)備迎接雙11,我們?cè)诮衲甑?月份正式完成了阿里電商網(wǎng)站的異地雙活,又在歷次演練中經(jīng)過實(shí)戰(zhàn)檢測,所以在雙11這一天心里還是很有把握的。每秒8萬筆,這是非常驚人的,相信在全球都沒有第二家能夠在超大規(guī)模電商交易方面做到異地雙活。
OceanBase之外,ODPS和Galaxy的應(yīng)用場景是什么?
周明:ODPS是阿里自研的做離線數(shù)據(jù)挖掘分析平臺(tái),支撐了集團(tuán)80%左右的離線雙11業(yè)務(wù),包括個(gè)性化推薦、廣告、搜索、BI業(yè)務(wù)報(bào)表數(shù)據(jù)分析等。而Galaxy是阿里大數(shù)據(jù)團(tuán)隊(duì)自研的流數(shù)據(jù)計(jì)算平臺(tái),每秒可運(yùn)算數(shù)據(jù)超過500萬條,演示大廳中的數(shù)據(jù)大屏實(shí)時(shí)播報(bào),都是在Galaxy中處理后呈現(xiàn)。
在超大數(shù)據(jù)中心異地雙活之外,我們還簡單談到了為應(yīng)對(duì)海外用戶參與雙十一,阿里所構(gòu)建的30多家CDN的節(jié)點(diǎn),實(shí)現(xiàn)了除南極洲以外其他地區(qū)全面覆蓋的目標(biāo),以及基礎(chǔ)安全、技術(shù)安全、業(yè)務(wù)安全方面的保障策略。對(duì)于我的問題,周明回答的極為坦率。他對(duì)我說:“阿里對(duì)技術(shù)是很開放的,很多技術(shù)方案都直白地分享去出了。今年更是如此,很多數(shù)字都是實(shí)時(shí)公布的。如果你有感興趣的項(xiàng)目,我們?cè)僬覍?shí)際操刀的團(tuán)隊(duì)來分享。”
順著這個(gè)話題,我請(qǐng)阿里的朋友幫忙邀請(qǐng)了阿里Oceanbase、ODPS和飛天的技術(shù)專家來到2014中國大數(shù)據(jù)技術(shù)大會(huì)深入分享技術(shù)實(shí)踐。歡迎大家參加!