阿里超大數據中心“異地雙活”實踐

災備系統和應急管理體系建設是數據中心永不變更的熱點話題。從“兩地三中心”、“同城雙活”到“異地雙活”,業內的討論層出不窮。即使在容災備份領域較早入手的金融行業,在災備切換時也是謹慎再謹慎的,在歷年“真實切換”演練時“手軟”的例子更是不勝枚舉。究其根源,除了應急預案不完善、災難恢復演練不到位之外,單純硬件和軟件很難完全解決業務連續性問題纔是關鍵。事實上,將業務系統切換到災備中心容易,但故障消除後,將業務系統再調回生產中心,需要保證數據庫的完整,其中數據同步效率更加需要底層的支持,其過程異常複雜。

但只有數據中心異地雙活才能真正應對地震、雪災、網絡癱瘓等災難事件,實現跨地域的容災能力,保障不受單地域的災難的影響。阿里11.11直播現場(見《【觀察】阿里11.11第六年,用我們的視角直播技術與數據》), 連續六年“雙十一”技術總負責人阿里巴巴副總裁劉振飛特別提到:本次雙十一交易能力達到每秒8萬筆的上限;支付能力在峯值能力突破每秒 3.8萬筆,準備階段提供了500套技術預案,共計8次技術演練,支付、手機客戶端體驗、ODPS、OceanBase和數據中心異地雙活都是其中很關鍵的技術考驗點。“阿里歷史上第一次打通了交易平臺和支付平臺,8次演練中遇到很多問題都得到了解決。所以今年高峯到來,我們淡定迎接了挑戰。”

阿里技術保障部資深總監 周明

在支付、移動適配、ODPS、OceanBase等技術方面,CSDN雲計算曾有多次不同報道。而數據中心異地雙活卻是極少出現,以雙十一的規模來計算,其背後所代表的將是超越以往常規應用的技術實現。爲此,直播間隙,特別採訪了阿里技術保障部資深總監周明。他對我說:數據中心異地雙活2013年就已啓動,直到近期才正式完成,剛好趕上雙十一。能夠做到數據庫同步,保證數據的一致性,解決距離帶來訪問延遲的超大體量電商網站數據中心異地雙活,目前全球只有阿里巴巴已完成部署。

從2013年近2000套到2014年500套技術預案,大幅減少的原因是什麼?

周明:這幾年中,阿里對整體系統運行情況越來越清晰,所以有些技術預案就不再需要了;另一方面,我們將一些系統進行了合併,比如淘寶、天貓、無線等。這些系統最初因爲業務發展需要而相對獨立,但隨着規模越加巨大,系統中的一些公共功能是相同的,將這些功能提煉出來後,形成公共平臺。這樣,更加彈性和可控,而且整體系統數量就減少了,與之對應的是,系統預案也減少了。比如雲梯1(Hadoop系統)和雲梯2(飛天5K+ODPS)的系統更替,以及登月計劃將更多業務部門數據遷移到ODPS上就是這樣的變化。這兩點也使得備戰雙十一時的技術預案大幅減少。

500套技術預案怎麼劃分的?

周明:我們的預案可以從訪問量、業務、用戶、系統等多個視角來劃分。在雙十一中,技術保障團隊要提供基礎架構服務,如數據中心包含服務器、網絡、存儲在內的整體基礎設施;提供基礎服務,如負載均衡,協議等,以及研發一些基礎系統;運營在平臺上的業務系統的保障,保證系統能夠在雙十一能夠應對高峯挑戰。簡單說,就是從IDC機房到中間運行應用的基礎平臺再到應用系統的保障,因此我們也在各個環節準備了相應的預案。

其實去年雙11,全集團準備了2000多套技術預案,今年一方面大促的技術打法越來越成熟,另一方面通過多次演練對系統容量和極限做到心中有數,因此預案數量降到了不到500套,不但大大減少了產品、開發和測試的工作量,而且也降低了雙11當天技術決策的複雜性。

交易能力達到每秒8萬筆的上限;支付能力在峯值能力突破每秒3.8萬筆。是否在預估內?

周明:都在預估內,各個技術部門都做了充分的準備,從10月份開始也進行了多次聯合演練。

技術保障提到一共做了8次演練,螞蟻金服魯肅提到了10次。哪些是你們重複演練的?

周明:各個部門會先分頭演練,然後再聯合演練,今年全集團打通集體演練共有8次。另外,今年是第一次把交易和支付系統打通演練,徹底掃清了兩套系統的接口之間可能存在的技術灰色地帶,特別是模擬了數據高峯的情形,讓我們充滿信心地應對雙11大考。

首次打通了交易平臺和支付平臺。其中在技術方面遭遇了哪些挫折和挑戰?如何應對的?

周明:確實比預想的要多。首先是業務需要,運營活動在最初的時候很難有明確預計,很難思考的很成熟,所以很多需求都是逐漸變化的,我們也要隨之改變,靈活性上很有挑戰;其次是技術上看,當規模達到一定程度後,無論是對應用系統、數據庫、網絡還是銀行支付等渠道,都有更大挑戰,比如10月份啓動技術演練的時候,並不是一開始就成功的,我們也遇到了非常多的大大小小的問題,比如出現Bug,能力夠不到,模擬數據有問題等,直到第六次、第七次演練時,才跑通。

爲了應對這些挑戰,我們要更好地實現系統彈性擴容,包括“數據中心異地雙活”和“服務器資源彈性部署”。前者真正使電商網站具備跨地域的容災能力,保障不受單地域的災難的影響。即使杭州遭遇了極端的自然災害,數據中心“全軍覆沒”,雙11仍然能夠順利運轉;後者服務器資源彈性部署,可以應對不可預知的業務爆發。一旦有超出預期的業務熱點出現,系統可自動調用其他資源使用不足的服務器,實現分鐘級無縫切換,在不增加硬件部署的情況下應對更復雜的流量變化。除此以外,今年的雙十一還首次啓動阿里自主研發的OceanBase雲數據庫承擔部分流量,也帶來了一些新課題,但解決上都比較順利。最終很好的應對了雙十一的數據高峯的挑戰。

爲什麼一定要考慮異地雙活?

周明:阿里規模已經這麼大,異要雙活是我們技術必須要考慮的安全措施。無論將因爲何種原因造成服務停止都將影響很多商家,影響生態鏈條上的各個企業。交易平臺常用的主備模式(Active-Standby)看似備份但真正到恢復階段是有不確定性,只能保證數據不丟失,但無法做到在主機房重大故障時對業務沒有影響。而兩地三中心這種模式,在確保數據一致性方面也有着很大挑戰,所以我們2013上半年就做出重要決定,要做真正的異地雙活。經過一年多的努力,投入很多技術才人和資源,順利在雙11之前落地。

除了容災,異地雙活還有個重要的意義就是大幅提高水平伸縮能力。業務單元化部署是實現異地雙活的基礎,飛速增長的業務可能在現有架構下遇到瓶頸,需要擴容時,不論是部署成本還是效率,通過單元化部署打通多個數據中心資源都是最好的辦法。

當時感覺最大的挑戰是什麼?

周明:經歷了五年雙十一的考驗,在技術保障方面我們心中比較踏實了。但異地雙活卻是第一次經歷這麼大規模的雙十一,因此最擔心異地雙活的模式能否承受高峯壓力。尤其是異地雙活實現技術難度非常大,全球都沒有可參考的成功經驗,而且電商業務的數據是多緯度的,例如有商品、買家和賣家緯度,對數據一致性的要求比其他例如社交、搜索、視頻等領域都高很多。舉個例子,雙活數據中心數據庫方面要求同時存儲,搜索結果差個幾百條結果互聯網用戶很難有感知,但交易數據哪怕是一個小數點後幾位都要保證一致,但現實情況是,因爲距離和訪問延遲等因素,都容易帶來數據的不一致。而在雙十一這樣的高壓下,出現各式各樣的情況都是很可能的。

爲了準備迎接雙11,我們在今年的8月份正式完成了阿里電商網站的異地雙活,又在歷次演練中經過實戰檢測,所以在雙11這一天心裏還是很有把握的。每秒8萬筆,這是非常驚人的,相信在全球都沒有第二家能夠在超大規模電商交易方面做到異地雙活。

OceanBase之外,ODPS和Galaxy的應用場景是什麼?

周明:ODPS是阿里自研的做離線數據挖掘分析平臺,支撐了集團80%左右的離線雙11業務,包括個性化推薦、廣告、搜索、BI業務報表數據分析等。而Galaxy是阿里大數據團隊自研的流數據計算平臺,每秒可運算數據超過500萬條,演示大廳中的數據大屏實時播報,都是在Galaxy中處理後呈現。

在超大數據中心異地雙活之外,我們還簡單談到了爲應對海外用戶參與雙十一,阿里所構建的30多家CDN的節點,實現了除南極洲以外其他地區全面覆蓋的目標,以及基礎安全、技術安全、業務安全方面的保障策略。對於我的問題,周明回答的極爲坦率。他對我說:“阿里對技術是很開放的,很多技術方案都直白地分享去出了。今年更是如此,很多數字都是實時公佈的。如果你有感興趣的項目,我們再找實際操刀的團隊來分享。”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章