雙十一(yī)又(yòu)來(lái)了(le),今年(nián)是(shπ✘$ì)第10個(gè)年(nián)頭。
對(duì)于大(dà)部分(fēn)人(rén)意味著(zhe)剁手,×φ可(kě)對(duì)于N多(duō)背後護持雙11的(de)×↔αΩIT人(rén)來(lái)說(shuō),那(nà)就(β✘jiù)是(shì)赤果果的(de)&mdash↓¥∞;—Just剁 IT!
每逢“雙十一(yī)”最緊張的(de)不(bù)是(s→♥hì)商鋪理(lǐ)貨,也(yě)不(bù)是(shì)網友(yǒu)緊&ελ盯大(dà)促商品準備秒(miǎo)殺,而是(shì)網購(gòu)幕後的•'(de)運維人(rén)員(yuán),他(tā)們最擔心:什✘→≥✘(shén)麽網絡中斷、應用(yòng)卡頓、響應速度慢(màn),服≥×≥"務器(qì)宕機(jī)…™→…
雙十一(yī)作(zuò)為(wèi)電(diàn)商 IT 部門(mén)←$• 的(de)頭等大(dà)事(shì),大(dà)促前,運維人(rπ↓én)員(yuán)就(jiù)需要(yào)早早地(dì)做(zuò)好(∑φhǎo)多(duō)套預備方案,并時(shí)刻緊繃著(zh↓✔£<e)神經,經曆著(zhe)上(shàng)百次模拟演練。他(tā)們在後®$×端有(yǒu)多(duō)少(shǎo)不(bù)眠不(bù)休的(de☆λ)夜晚,不(bù)得(de)而知(zhī)。幾年(nián§™↔₩)前,一(yī)場(chǎng)秒(miǎo)殺讓→↕服務器(qì)宕機(jī)是(shì)常'§δ态,現(xiàn)在,一(yī)秒(miǎo)數(shù)↕≈ ≈十萬的(de)訂單,服務器(qì)依然堅挺。毫無疑↑₩問(wèn),支撐起這(zhè)一(yī)切的(Ω₹®de)是(shì)強有(yǒu)力的(de)技(jì)術(shù)$ε和(hé)運維人(rén)一(yī)個(gè)個(gè)不(bù)眠的★±€(de)夜晚。
看(kàn)似簡單的(de)雙十一(yī)背後牽扯到(dào)是(¥∏shì)包括支付、架構、數(shù)據庫、網絡、運維、電(diàn)力、客服、♦☆₽物(wù)流等整個(gè)商業(yè)配套基礎設施的(d♦→✘e)協同和(hé)考驗。
雙十一(yī)大(dà)促的(de)那(nà) ± 些(xiē)年(nián) 運維邁過的(de)坑
天貓雙十一(yī)大(dà)促最早開(kāi)始于 ε£2009 年(nián),那(nà)時(shí)候還(hái)是(shì)淘寶♥ 商城(chéng),一(yī)天的(de) GMV 隻有(yǒu)幾千萬,&∞而且還(hái)沒有(yǒu)零點全民(mín)瘋搶的(de)概↔σ念。在大(dà)促前工(gōng)程師(shī)們基本上(shàng×α↔)會(huì)根據各自(zì)的(de)經驗判斷,比✘÷如(rú)服務器(qì)的(de)當前負載、應用(yòng)的(λ§de)當前 RT 和(hé) QPS,判斷每台服務器(qì)最大(dà)能(™α™πnéng)支撐多(duō)少(shǎo)能(néng)力等,然後÷♣¶幾個(gè)人(rén)討(tǎo)論後就(j✔←¥Ωiù)決策拍(pāi)闆,某某核心應用(yòng↔×∞)各自(zì)要(yào)加多(duō)少(shǎo)台服務器(qì),>≥× 到(dào)底要(yào)加多(duō)少€♥(shǎo)服務器(qì),實際上(shàng)大(dà¶<₽☆)家(jiā)的(de)心裡(lǐ)沒底,實在不(bù)放(fàng)心臨時 ¶₩≈(shí)再多(duō)申請(qǐng)擴容。總之這(zhè♥±)個(gè)階段業(yè)務量也(yě)小(xiǎo),也(y←±λě)能(néng)應付過去(qù)。
後來(lái)幾年(nián)随著(zhe)天貓品牌的↓(de)提升,雙十一(yī)大(dà)促逐年(nián)爆發,₽≈±原來(lái)的(de)運維方式已經無法适用(yòng)。業(yγ♣è)務發展迅速,後端的(de)應用(yòng)數(shù)量也(yě☆♠)大(dà)大(dà)增加,各個(gè)應用(yòng)系統之間¶(jiān)的(de)調用(yòng)鏈路(lù)錯∑&↓≥(cuò)綜複雜(zá)。大(dà)促前到(dào)底要•$>ε(yào)準備擴容多(duō)少(shǎo)資源?不(bù)能(néng¥)拍(pāi)腦(nǎo)袋熱(rè),因為(wèi)你(↔♥✔¥nǐ)申請(qǐng)資源太多(duō)會(huì)β♥可(kě)能(néng)被拒絕,申請(qǐng)少(shǎo)了¶§↔₽(le)你(nǐ)要(yào)承擔更大(dà)的♣↕<¥(de)風(fēng)險。
這(zhè)時(shí)候用(yòng)線上(shàng)壓測的(de)方式來&±☆♠(lái)解決,比如(rú)可(kě)以直接在生(shēng)産環境↓♠§↔抽取 1 台服務器(qì),通(tōng)過模拟回放(fàng)±♥或者直接引入多(duō)倍流量做(zuò)壓測,根據壓測結果計(↔★jì)算(suàn)出單台服務器(qì)的(de)最大(dà)可(kě>↓↑≥)承載能(néng)力,然後用(yòng)數(shù)字來(lái)說(shu←€ō)話(huà),去(qù)申請(qǐng)擴β♦容。還(hái)有(yǒu)就(jiù)是(★©shì)即使容量規劃做(zuò)到(dào)位了(le),但(dàn)φ&在零點峰值的(de)時(shí)候還(hái)是&σ(shì)可(kě)能(néng)會(hu♦"÷ì)超出預期,系統還(hái)是(shì)> 會(huì)擠爆。所以又(yòu)引入了ε₩λ(le)限流和(hé)降級,限流就(jiù)是(shì)對(du→♦ì)各個(gè)應用(yòng)設置一(yī)個(gè)最大(d ↓βà)阈值,超過阈值就(jiù)立刻拒絕新的(de)請(qǐ±"δng)求,這(zhè)樣的(de)好(hǎo)處就(jiù↓π)是(shì)保護應用(yòng),避免雪(xuě)崩。
還(hái)有(yǒu)就(jiù)是(shìΩ©♠)降級,由于應用(yòng)太多(duō),在大(dà)促的(de™¥§π)期間(jiān),可(kě)以關閉部分(fēn)非核 ♣→心功能(néng),保證交易主流程的(d☆✔•e)能(néng)力最大(dà)化(huà)。那(n&∑↓à)個(gè)階段的(de)壓測也(yě)不(bù)是(shì)完全精确的(d≤♠™e),主要(yào)問(wèn)題是(shì)壓測的(de₽≤δ)局限性,隻是(shì)對(duì)某個(gè)應用(yòng)做(zuò ₽¶$)單獨壓測,但(dàn)是(shì)應用(yòng)之間(ji©♦σān)是(shì)有(yǒu)依賴有(yǒu)關聯的(de),特别是(&✘←shì)一(yī)些(xiē)共享服務中心,基本上( Ω≥shàng)被所有(yǒu)應用(yòng)都(dōu)依賴調用(←₩yòng),那(nà)怎麽辦呢(ne)?÷§後來(lái)幾年(nián)時(shí)間(jiān)又(yòu)研發Ω§↕出新的(de)壓測工(gōng)具,全鏈路(lù)壓測。這(zhè)&<δ個(gè)對(duì)于容量規劃來(lái)說(sh↔¶↔uō),是(shì)全新的(de)思路(lù),直接在生(shēφ←€♥ng)産環境上(shàng)通(tōng)過模拟複制(zhì)✘¥産生(shēng)大(dà)批的(de)流量,每個(gè®∞★)環節都(dōu)會(huì)被壓測到(dào),并有(yǒu↑φ♦)相(xiàng)應的(de)監控系統配套,來(lá✔←i)找出瓶頸點在哪裡(lǐ),并迅速優化(hu$σà)。而且這(zhè)個(gè)過程被自(zì)動化(hu'←≥à)完成。
可(kě)見(jiàn),自(zì)動化(huà)運維是(β§shì)大(dà)勢所趨。
零點瘋搶背後的(de)運籌帷幄
現(xiàn)在的(de)電(diàn)商雙十一(yī)大(dà)促活動仍舊( ¥×jiù)延續零點瘋搶模式,對(duì)于應用♦φ(yòng)系統保障來(lái)說(shuō),能(néng)否順利扛過¥→前 15 分(fēn)鐘(zhōng),甚±•至是(shì)前幾分(fēn)鐘(zhōng),成為(wèi)最核φ₹π心的(de)保障任務。運維界大(dà)咖給出了(le)以下(xià)幾點建議(∏±₩yì):能(néng)否順利扛過前 15 分(fēn)鐘(zhō↔γ•ng),甚至是(shì)前幾分(fēn)€♥鐘(zhōng),成為(wèi)最核心的(de)保障任務。具體(tǐ)α≤ 給出了(le)以下(xià)幾點建議(yì):
雙十一(yī)大(dà)促是(shì)最典型的(de)彈性場(chǎεγ÷ng)景
彈性是(shì)雲計(jì)算(suàn)的(de)最大(dà↑↔¥")優勢,而大(dà)促是(shì)最典型的(de)彈性場(chǎng)景 $。
随著(zhe)雲計(jì)算(suàn)×λ♦"特别是(shì)公有(yǒu)雲的(de)普及,現(xiàn)在的(×↓de)運維人(rén)員(yuán)基本上∏₩≠(shàng)無需關注機(jī)房(fáng)、網絡、操作(zuò)系統等底↓'β層設施。在不(bù)斷地(dì)演練後,如(•£rú)今的(de)電(diàn)商平台早已采用(yòn'"g)彈性可(kě)擴展的(de)雲計(jì)算(suàn)平台σ↔><,配合分(fēn)布式數(shù)據,高(gā★≥o)效的(de) CDN 分(fēn)發來(lái)實現(xiàn)$♥負載均衡,避免在雙十一(yī)淩晨高(gāo)并發狀态下(xià)崩盤。運維 ©♠人(rén)員(yuán)将更多(duō)精力轉移到(dào)∞∏ ₩快(kuài)速上(shàng)線,快(kuài)≤ ±速叠代,去(qù)支持業(yè)務發展。
大(dà)促活動的(de)流量跟日(rì)常完全不(bù)在一(✔♠yī)個(gè)量級,完全可(kě)以利用(yò≥₹€πng)雲資源的(de)按需使用(yòng),來(lái)達到£↕(dào)擴容的(de)需求,而且在成本上(shàng)是(shì)巨 ↓¶大(dà)的(de)節省。除了(le)擴容以外(w≠§ài),當然還(hái)需要(yào)準←備應急預案,整理(lǐ)出當天可(kě)能(néng)出現(xiàn)↑♠≠的(de)異常情況,提前預演。
除去(qù)上(shàng)述,所有(yǒu)運維團隊©♦還(hái)需要(yào)提前制(zhì)定值班計(j∞∑ì)劃,對(duì)雙十一(yī)當天可(k×Ωě)能(néng)發生(shēng)的(de)各種突發情況預案,雙十"≥一(yī)各時(shí)段應該關注的(de)關鍵點β¶♣進行(xíng)詳盡計(jì)劃。總之,每年(nián)雙十一(yī)都↓≠λ★(dōu)是(shì)一(yī)次檢驗,一(yī)次大(dà)考。" ∏細節決定成敗,對(duì)全體(tǐ)運維人(rén)而言,必 β須所有(yǒu)細節都(dōu)關注到(dào),演練到(dào), ><準備到(dào),才足以從(cóng)容應對(duì)每一(yī)∑ ₩£年(nián)的(de)雙十一(yī)大(dà)促。
平台的(de)選擇至關重要(yào)
選擇一(yī)個(gè)好(hǎo)的(de)服務商對(duì)于電(diàn)商企業(♣ε↔∑yè)至關重要(yào),神州光(guāng)大 ₽♣(dà)是(shì)利用(yòng)共享經濟模式,通(tōng)過 ∞互聯網平台聚合工(gōng)程師(shī)資源,為(wèi)客戶☆☆提供有(yǒu)質量保證的(de)按需使用(yòng)工(gōng)程師★☆(shī)資源的(de)IT服務的(de)互聯網平台公司。
諸如(rú)雙十一(yī)這(zhè)樣的(de)彈Ω↕≥性場(chǎng)景,除了(le)對(du™>ì)設備、計(jì)算(suàn)資源等需求會(huì)出現(♣♣↔λxiàn)爆發式增長(cháng),這(z÷§hè)期間(jiān)對(duì)工(gōng)程師(shī)需求也¶↔(yě)會(huì)大(dà)大(dà)增加,神州光(guāng)大(dà)¥÷'廣泛的(de)工(gōng)程師(shī)資源,随時(shí)滿足客戶各 ¶種場(chǎng)景下(xià)的(de)人(r©≥γ¥én)員(yuán)需求,新增設備的(de)安裝調試、大(dà)促♦↑λ前的(de)巡檢、突發的(de)緊急故障神行(xíng)工(gōn™g)程師(shī)都(dōu)可(kě)以快(kuài)速響應并提供±ε現(xiàn)場(chǎng)服務。幫企業(yè)順利度過雙十一(yī ε∑)。