雙十一背后數(shù)據(jù)中心運維保障那些事兒
“雙十一”即指每年的11月11日,由于日期特殊,因此又被稱為光棍節(jié)。而大型的電子網(wǎng)站一般會利用這一天來進行一些大規(guī)模的打折促銷活動,以提高銷售額度。它們選擇“雙十一”促銷也是為了錯開線下促銷的周期。國慶、圣誕、元旦都是實體店促銷的時間節(jié)點,于是從國慶假期后至圣誕節(jié)前實體店會形成促銷的真空期,但是為了完成銷售任務,商家必須提前在11月發(fā)力。從2009年11月11日,淘寶商城舉辦了第一屆雙十一促銷到現(xiàn)在,已經(jīng)舉辦了三屆,在2012年的“雙十一”購物狂歡節(jié)總銷售額191億,今年的 “雙十一”購物狂歡節(jié)預計銷售額會超過200億。
一個購物網(wǎng)站要在一天處理完成超過1億筆的交易,淘寶是如何做到的呢?其實,在網(wǎng)站簡單的買賣交易背后,凝結(jié)了數(shù)千人默默無聞的運維保障工作。除了要完成交易,還有更多的時間用戶是在瀏覽網(wǎng)站的商品,如果一個網(wǎng)頁點擊超過5秒才打開鏈接,這也將嚴重影響用戶的體驗,因此在確保買賣交易可以完成的同時,還要在如此大的訪問量的情況下,保證用戶的購物體驗,這不得不說是一項艱巨的任務。早在2012年,淘寶“雙十一”購物狂歡節(jié)的一分鐘內(nèi)千萬級別訪問量涌入,導致購物車和支付寶無法訪問。大家知道這時千萬級別的ID不僅僅是每個用戶的數(shù)據(jù),同時包括所購買產(chǎn)品的數(shù)據(jù)、包括銀行系統(tǒng)的高并發(fā)訪問。瞬間海量數(shù)據(jù)的I/O,如此高的并發(fā)用戶訪問、檢索以及支付導致硬件工作負荷加大,自然就會形成自我保護性關閉或崩潰,從而使網(wǎng)站癱瘓。
“雙十一”期間淘寶網(wǎng)站的訪問量是平時的幾倍、甚至幾十倍,原有的數(shù)據(jù)中心性能是無法滿足的,而這種促銷就只有一天,淘寶又不可能大肆的擴大數(shù)據(jù)中心規(guī)模而去保障這一天,這樣會造成大部分時間數(shù)據(jù)中心處于資源浪費狀態(tài),因此只能從別的方面考慮優(yōu)化。從訪問量上來講,也就是在“雙十一”剛開始的幾分鐘流量最大,流量瞬間變大,后續(xù)的一天的時間流量基本都比較穩(wěn)定,一天過后流量大大下降。面對瞬間巨量的訪問,數(shù)據(jù)中心會進行分流,淘寶的數(shù)據(jù)中心遍布全國各地,大量的數(shù)據(jù)訪問分多次、多地點進行,可以實現(xiàn)多站點并行作業(yè),保證高并發(fā)的數(shù)據(jù)訪問。經(jīng)過3年的“雙十一”活動,淘寶已經(jīng)對突發(fā)的訪問量能夠做好預估,根據(jù)現(xiàn)有的數(shù)據(jù)中心處理性能,適當?shù)卦黾右恍┡R時設備,啟用備用系統(tǒng),從而確保淘寶順利平穩(wěn)過渡“雙十一”。
在淘寶有一個應用運維團隊,即PE團隊。PE團隊負責淘寶網(wǎng)在線交易、廣告系統(tǒng)、數(shù)據(jù)平臺等應用運維系統(tǒng)技術(shù)部門,是為淘寶帶來高速增長核心運維團隊。“雙十一”購物節(jié)也給PE團隊帶來了巨大壓力。基本上為了應對“雙十一”購物節(jié),PE團隊提早就做足了準備工作。比如包括:檢查全國各地數(shù)據(jù)中心運行負荷情況,以便在高峰流量到來時靈活分散訪問流量;增加備件,做好配置,大量的設備硬件出現(xiàn)故障不可避免,在關鍵業(yè)務設備做好備件,一旦出現(xiàn)故障及時更換,將故障時間控制在幾分鐘內(nèi);協(xié)調(diào)好各種設備的供應商廠家工程師駐場待命,以便出現(xiàn)故障時,和PE團隊共同處理,減少中間的溝通環(huán)節(jié),縮短故障處理時間;啟動這種應急預案,對可能發(fā)生的突發(fā)情況進行預判,制定響應的方案;在“雙十一”之前進行故障模擬演練,驗證解決方案是否可行。在做好的充分準備后迎接“雙十一”的到來。
在11·11購物節(jié)的24小時里,PE團隊的人員會時刻關注著淘寶網(wǎng)站的運行情況。主要監(jiān)控三個方面的狀況:
一、是監(jiān)控業(yè)務層面。比如說本來每秒創(chuàng)建是2000筆的,現(xiàn)在突然一下降成500筆了,這就可能有問題了,再有可能訂單生成,有丟單等等,這些業(yè)務層面的問題會大大影響銷售額,這樣PE團隊就會立即召集業(yè)務部門和軟件開發(fā)系統(tǒng)的人員公共分析問題原因。
二、是應用系統(tǒng)監(jiān)控。檢查JVM跑的是否正常,是不是有頻繁的垃圾回收,反饋時間是否在200MS以內(nèi),一旦反饋時間超過200MS,則訪問網(wǎng)站的速度就會下降,如果超過500MS,則訪問網(wǎng)站的體驗就會很差了。這時PE團隊要系統(tǒng)軟件開發(fā)人員共同分析問題,找過故障點。
三、是基礎設施保障。這種基礎的包括網(wǎng)絡、服務器、存儲設備等。比如說我們的路由器是不是通的,我們的交換是不是有問題啊,DNS服務是不是有問題啊,等等。
“雙十一”購物節(jié)過后,PE團隊要對數(shù)據(jù)中心出現(xiàn)的問題進行總結(jié),杜絕類似問題再次發(fā)生,這個節(jié)日是對淘寶數(shù)據(jù)中心的一次巨大考驗,很多問題都會在這樣的突發(fā)流量下暴漏出來,所以對于PE團隊也是難得的一次學習機會。淘寶的數(shù)據(jù)中心出口帶寬已經(jīng)超過兩個T,就是在峰值的時候,每秒出去兩個T的數(shù)據(jù)。由此可見,淘寶數(shù)據(jù)中心的處理能力是超強的,但簡單的提升網(wǎng)絡訪問帶寬還遠遠不夠,需要的是淘寶數(shù)據(jù)中心整體的處理性能的提升。經(jīng)過“雙十一”購物節(jié)的洗禮,PE團隊會找到目前數(shù)據(jù)中心薄弱的地方,然后再不斷改進。
在淘寶,要求數(shù)據(jù)中心全年斷網(wǎng)時間不能超過2小時,故障等級分為四級:P1~P4。P1是最嚴重的故障,P4最輕微。如果頻繁出現(xiàn)P1故障,那么PE團隊人員的收入都會受到損失。因此,PE團隊時刻都保持了如履薄冰的心態(tài),應對每一次突發(fā)問題。其實在任何一個數(shù)據(jù)中心都一樣,我們在享受數(shù)據(jù)中心帶來的生活、工作便利的同時,在其背后是有無數(shù)的技術(shù)工作者提供運維保障,正是這些默默無聞的運維人員辛苦的工作才構(gòu)筑了我們今天美好的生活。