中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
阿里雙十一大促,技術(shù)準(zhǔn)備只做了這兩件事情?
作者|蔣江偉
編輯|劉嘉洋
雙十一的技術(shù)準(zhǔn)備在做兩件事情:第一是系統(tǒng)的準(zhǔn)備盡可能的接近真實(shí),包括容量確定性和資源的確定性;第二是整個(gè)過(guò)程中的效率,包括人和單位資源效率。僅憑這兩件事情,就能撐起這場(chǎng)大促嗎?

本文整理自蔣江偉在ArchSummit 2016 北京站上的演講。

后臺(tái)回復(fù)關(guān)鍵詞「雙十一」,下載本文完整PPT。

親歷雙十一

從2009年到2016年,參與了8屆雙十一技術(shù)備戰(zhàn)工作。2009年的雙十一,印象并不深刻,主要原因是當(dāng)時(shí)整個(gè)淘寶的體量已經(jīng)很大,每天的交易額已經(jīng)有幾億的規(guī)模,而當(dāng)時(shí)的淘寶商城雙十一交易額只有5000萬(wàn)左右,和幾億比體量還是非常小的,所以感覺(jué)還沒(méi)開(kāi)始就過(guò)去了。

到了后面幾年,每年都要花費(fèi)好幾個(gè)月的時(shí)間去精心準(zhǔn)備,要做監(jiān)控、報(bào)警的梳理,要做容量的規(guī)劃,要做整個(gè)依賴(lài)的治理等等,也整理了各種各樣的方法論。這是一個(gè)過(guò)程,當(dāng)然在這個(gè)過(guò)程里面也沉淀出了很多非常有意義的事情。今天有人問(wèn)我怎么做雙十一,怎么做大促活動(dòng),我會(huì)告訴他一個(gè)非常簡(jiǎn)單的方法,就是做好容量規(guī)劃,做好限流降級(jí)。

2008年,我加入淘寶,直接參與淘寶商城的研發(fā)工作。淘寶商城就是后來(lái)的天貓,當(dāng)時(shí)整個(gè)淘寶商城的技術(shù)體系,和淘寶網(wǎng)是完全不一樣的,是完全獨(dú)立的體系。它的會(huì)員、商品、營(yíng)銷(xiāo)、推薦、積分、論壇,都和淘寶網(wǎng)沒(méi)有任何的關(guān)系。兩套體系是完全獨(dú)立的,唯一有關(guān)系的是整個(gè)會(huì)員的數(shù)據(jù)是共享的。

2008年末啟動(dòng)了「五彩石項(xiàng)目」,把兩套體系的數(shù)據(jù)打通、業(yè)務(wù)打通,最核心的點(diǎn)就是業(yè)務(wù)的發(fā)展變得非常靈活。這個(gè)項(xiàng)目的完成給淘寶商城的發(fā)展帶來(lái)非常大的飛躍,后來(lái)淘寶商城也升級(jí)品牌為天貓。

另外,這個(gè)項(xiàng)目里還有一個(gè)很大的意義,就是比較優(yōu)雅的實(shí)現(xiàn)了架構(gòu)的擴(kuò)展性、業(yè)務(wù)的擴(kuò)展性和技術(shù)的擴(kuò)展性。我們實(shí)現(xiàn)了整個(gè)服務(wù)的全部服務(wù)化,抽取了所有與電商相關(guān)的公共元素,包括會(huì)員體系、商品中心、交易中心、營(yíng)銷(xiāo)、店鋪、推薦等?;谶@個(gè)體系,構(gòu)建后來(lái)像聚劃算、電器城、航旅等的業(yè)務(wù)就非??炝?。打破原來(lái)的架構(gòu),將整個(gè)公共的服務(wù)抽取出來(lái)之后,上層的業(yè)務(wù)跑得非???,這就解決了業(yè)務(wù)擴(kuò)展性的問(wèn)題。

第一次大規(guī)模使用中間件是在這個(gè)項(xiàng)目里,中間件3劍客,HSF、Notify、TDDL得到了很大的創(chuàng)新沉淀,并被大規(guī)模的使用。分布式帶來(lái)的問(wèn)題是一個(gè)系統(tǒng)被拆成了很多的系統(tǒng),這其中也涉及到了擴(kuò)展性的問(wèn)題。這個(gè)項(xiàng)目也帶來(lái)了技術(shù)的進(jìn)步,從業(yè)務(wù)的發(fā)展到技術(shù)的擴(kuò)展性,都達(dá)成了非常好的目標(biāo)。

為什么要做容量規(guī)劃?

2012年,我開(kāi)始帶中間件產(chǎn)品線和高可用架構(gòu)的團(tuán)隊(duì)。那么為什么要做容量規(guī)劃呢?雙十一推動(dòng)了阿里巴巴技術(shù)上非常大的創(chuàng)新,容量規(guī)劃也是雙十一在這個(gè)過(guò)程中非常好的創(chuàng)新。

今年做雙十一的時(shí)候,老板問(wèn)我今年還有什么風(fēng)險(xiǎn)?我告訴他風(fēng)險(xiǎn)肯定很多,但是最終如果系統(tǒng)出問(wèn)題了,肯定發(fā)生在交易相關(guān)的系統(tǒng)里。阿里巴巴的系統(tǒng)分兩部分:一部分系統(tǒng)是促進(jìn)交易的,比如推薦、導(dǎo)購(gòu)、搜索、頻道等都是促進(jìn)交易的,會(huì)做各種各樣的營(yíng)銷(xiāo);另外一部分系統(tǒng)做交易、紅包、優(yōu)惠等相關(guān)系統(tǒng)。

原因非常簡(jiǎn)單,導(dǎo)購(gòu)類(lèi)的系統(tǒng)留給你足夠的時(shí)間去做判斷,它流量的上漲不是瞬間上漲,而是一個(gè)曲線慢慢上升,它留給你30分鐘做出判斷。但是交易系統(tǒng)沒(méi)有留出任何時(shí)間判斷,一旦流量開(kāi)始,沒(méi)有給人反應(yīng)時(shí)間,沒(méi)有任何決策的時(shí)間,所有的行為只有系統(tǒng)會(huì)自動(dòng)化執(zhí)行。這個(gè)過(guò)程里面容量規(guī)劃變的非常重要。

在早些年的時(shí)候,我們業(yè)務(wù)的自然增長(zhǎng)本身就非???。印象非常深刻的是,當(dāng)時(shí)大家購(gòu)物的時(shí)候打開(kāi)的商品詳情頁(yè)面,有一段時(shí)間這個(gè)頁(yè)面的負(fù)載比較高,公司召集了一些對(duì)于虛擬機(jī)調(diào)優(yōu)、性能優(yōu)化比較擅長(zhǎng)的人來(lái)進(jìn)行優(yōu)化,調(diào)優(yōu)了幾天之后系統(tǒng)終于掛掉了。還好也在做一些擴(kuò)容的準(zhǔn)備,擴(kuò)容完成,重啟之后系統(tǒng)恢復(fù)了。這說(shuō)明了什么?在早些年的時(shí)候,淘寶網(wǎng)也是一樣,對(duì)容量的準(zhǔn)備和預(yù)估是沒(méi)有概念的,不知道多少容量能支撐整個(gè)系統(tǒng)需要的能力。

新業(yè)務(wù)不斷地上線,業(yè)務(wù)運(yùn)營(yíng)、促銷(xiāo)類(lèi)的活動(dòng)也非常頻繁,記得有一次做一個(gè)促銷(xiāo)規(guī)模非常大。會(huì)員系統(tǒng)非常重要,因?yàn)樗械臉I(yè)務(wù)基本上都會(huì)訪問(wèn)會(huì)員中心用戶(hù)的數(shù)據(jù),包括買(mǎi)家的數(shù)據(jù)還有賣(mài)家的數(shù)據(jù)。那時(shí)物理機(jī)單機(jī)緩存的能力大概在每秒處理八萬(wàn)請(qǐng)求的規(guī)模,今天來(lái)看是遠(yuǎn)遠(yuǎn)不止。但當(dāng)時(shí)還沒(méi)有到高峰期的時(shí)候就達(dá)到了六萬(wàn),這是非常大的一個(gè)數(shù)字。

我們就把所有訪問(wèn)會(huì)員的系統(tǒng)全部拉出來(lái),看哪些與交易無(wú)關(guān)就通知需要停掉,或者停掉一半。比如把與商家相關(guān)的,與開(kāi)放相關(guān)的,與社區(qū)相關(guān)的系統(tǒng)停掉。在這個(gè)過(guò)程里面發(fā)生了各種各樣的問(wèn)題,總結(jié)來(lái)說(shuō)就是我們根本不知道容量怎么去做,或者說(shuō)根本就沒(méi)有概念需要去做容量。所以容量規(guī)劃歸根結(jié)底就是:在什么時(shí)候什么樣的系統(tǒng)需要多少服務(wù)器?需要給出有確定性,量化的數(shù)字。

容量規(guī)劃的三個(gè)階段

容量規(guī)劃整個(gè)過(guò)程大概經(jīng)歷了七八年的時(shí)間,總共三個(gè)階段。

第一個(gè)階段在非常早期,我們?cè)u(píng)估的方法就是「拍腦袋」(經(jīng)驗(yàn)判斷)。根據(jù)負(fù)載的情況、系統(tǒng)的響應(yīng)時(shí)間,各種各樣的表現(xiàn)去拍一個(gè)數(shù)字出來(lái)。當(dāng)時(shí)我問(wèn)一個(gè)高管,到底怎么去判斷服務(wù)器夠還是不夠,要支撐多少流量?他告訴我一個(gè)經(jīng)驗(yàn)值,每臺(tái)服務(wù)器支持100萬(wàn)的PV。

當(dāng)時(shí)一天的流量曲線會(huì)有三個(gè)峰值,九點(diǎn)到十點(diǎn),中午兩、三點(diǎn)到五點(diǎn),晚上八點(diǎn)到十點(diǎn)之間都是峰值。為什么是100萬(wàn)呢?這也是一個(gè)經(jīng)驗(yàn)值,當(dāng)然也有一點(diǎn)科學(xué)根據(jù)。我們希望做到一半的服務(wù)器停下來(lái)后能夠去支撐線上的流量,同時(shí)在峰值的情況下,全部能夠支撐住。實(shí)際上單機(jī)能支撐320萬(wàn)的PV,這是當(dāng)時(shí)的經(jīng)驗(yàn)值。

當(dāng)然這個(gè)經(jīng)驗(yàn)值當(dāng)時(shí)是起作用的,原因非常簡(jiǎn)單,因?yàn)楫?dāng)時(shí)的系統(tǒng)架構(gòu)簡(jiǎn)單??梢岳斫鉃榘颜麄€(gè)淘寶所有的邏輯和模塊都集中在一個(gè)系統(tǒng)里面,所以各個(gè)模塊之間的熱點(diǎn)有時(shí)間差,通過(guò)一臺(tái)服務(wù)器內(nèi)部CPU的搶占或者調(diào)度在OS層面就解決了。

到了第二個(gè)階段是線上壓測(cè)階段。因?yàn)橐坏┑搅朔植际街?,就?huì)出現(xiàn)問(wèn)題。舉個(gè)例子,本來(lái)是會(huì)員的調(diào)用和交易的調(diào)用在一臺(tái)服務(wù)器上,但是分開(kāi)之后,流量比例就不清楚了。所以必須要引入一些壓測(cè)機(jī)制,我們引入一些商業(yè)的壓測(cè)工具來(lái)做壓測(cè)。

當(dāng)時(shí)有兩個(gè)目的:第一個(gè)是系統(tǒng)上線之前要做壓測(cè),判斷響應(yīng)時(shí)間、負(fù)載能否達(dá)到上線的要求;第二個(gè)目的是希望能夠根據(jù)線下的壓測(cè)情況,準(zhǔn)確地評(píng)估出線上大概需要多少服務(wù)器。第二個(gè)目的做起來(lái)就比較困難一些,記得當(dāng)時(shí)性能壓測(cè)團(tuán)隊(duì)還做了一個(gè)項(xiàng)目,叫線下線上容量之間的關(guān)系。因?yàn)榫€上的環(huán)境和數(shù)據(jù)與線下完全不一樣,這里面沒(méi)有規(guī)律可尋,沒(méi)辦法通過(guò)線下壓測(cè)的指標(biāo)反饋到線上去。

這時(shí)候怎么辦?首先是直接在線上壓測(cè)。當(dāng)時(shí)來(lái)看我們做這個(gè)決定是非常瘋狂的,因?yàn)闆](méi)有一家公司,包括阿里巴巴自己也沒(méi)有人在線上直接做過(guò)壓測(cè)。我們寫(xiě)了一個(gè)工具,拉取出前一天的日志直接在線上做回放。比如,根據(jù)響應(yīng)時(shí)間和負(fù)載設(shè)定一個(gè)的預(yù)值,達(dá)到預(yù)值觸發(fā)的時(shí)候看它QPS的多少值。

其次我們做了一個(gè)分流。因?yàn)榘⒗镎麄€(gè)架構(gòu)還是比較統(tǒng)一的,全部是基于一整套的中間件,所以通過(guò)軟負(fù)載,通過(guò)調(diào)整配比,比如把線上的流量按照權(quán)重調(diào)整到一臺(tái)服務(wù)器上,通過(guò)調(diào)整到應(yīng)用端和服務(wù)端不斷地調(diào)整到一臺(tái)服務(wù)器上去,增加其權(quán)重,這時(shí)候它的負(fù)載也會(huì)上升,QPS也會(huì)上升,把這個(gè)過(guò)程記錄下來(lái)。

這里已經(jīng)是兩種場(chǎng)景了,一種是模擬,回放日志。第二種是真實(shí)的流量,把做成自動(dòng)化讓它每天自動(dòng)跑產(chǎn)生數(shù)據(jù)。這個(gè)事情做完之后,它從一個(gè)維度來(lái)說(shuō),替代了線下性能壓測(cè)的過(guò)程。因?yàn)樗梢宰屆總€(gè)系統(tǒng)每天自己獲得性能的表現(xiàn)情況。項(xiàng)目發(fā)布,或是日常需求的發(fā)布的性能有沒(méi)有影響的指標(biāo)都可以直接看出來(lái)。后來(lái)性能測(cè)試團(tuán)隊(duì)就解散了。

這里有個(gè)問(wèn)題,它還沒(méi)有基于場(chǎng)景化。場(chǎng)景化非常重要,比如我買(mǎi)一件衣服,平時(shí)買(mǎi)東西的流程可能是在購(gòu)物的搜索框里面搜索,或者是在類(lèi)目的導(dǎo)航里搜索,從搜索到購(gòu)物車(chē),再到下單這樣的一個(gè)過(guò)程。雙十一推的是商品的確定性,很多頻道頁(yè)面會(huì)把賣(mài)家比較好的促銷(xiāo)商品直接拿出來(lái)作為一個(gè)頻道頁(yè)。雙十二的時(shí)候推的是店鋪,KPI不一樣,推的東西也不一樣。

雙十一商品相關(guān)的服務(wù)器系統(tǒng)的流量會(huì)高,它所需要的服務(wù)器也會(huì)更多一些。雙十二和店鋪相關(guān)的系統(tǒng)服務(wù)器所需要也會(huì)更多一些。這與平時(shí)的流量表現(xiàn)是不一樣的,用平時(shí)的容量去計(jì)算場(chǎng)景化流量,這也是不準(zhǔn)確的。

我們也做了一件非常重要的事情:全鏈路壓測(cè)。這是我們?cè)?013年完成的事情,之前從沒(méi)有對(duì)外講過(guò),這是一個(gè)核武器,它有個(gè)分界線。2009年是最順利的一次雙十一,因?yàn)闆](méi)有什么流量,我們忽略不計(jì)。2010年、2011年、2012年,其實(shí)每年的雙十一總是有那么一些小問(wèn)題,其實(shí)心里也沒(méi)底。

在2013年的時(shí)候,我們做了全鏈路壓測(cè)這個(gè)產(chǎn)品之后,發(fā)生了一個(gè)本質(zhì)的變化。2013年的表現(xiàn)非常好,2014年也非常好,這就是一個(gè)核武器的誕生。對(duì)于做營(yíng)銷(xiāo)和促銷(xiāo)類(lèi)的,它是有峰值的,在這個(gè)時(shí)間點(diǎn)之前峰值非常低,這個(gè)時(shí)間點(diǎn)之后峰值突然上去了。這就是處理這種情況非常有效的一種方法。

從線下到線上:?jiǎn)螜C(jī)壓測(cè)的容量評(píng)估

重點(diǎn)分析一下線上壓測(cè)和場(chǎng)景化的全鏈路壓測(cè)。

線上壓測(cè)主要是由于淘寶的業(yè)務(wù)形態(tài)多樣化。分布式之后各種各樣的業(yè)務(wù)都出現(xiàn)了,它幫助解放了生產(chǎn)力。以前一百多個(gè)人在做一個(gè)系統(tǒng),非常糟糕,但是通過(guò)分布式改造之后,整個(gè)業(yè)務(wù)服務(wù)抽象出來(lái)之后,生產(chǎn)力被解放了。

其次,每個(gè)業(yè)務(wù)的機(jī)器規(guī)模非常大,每個(gè)業(yè)務(wù)應(yīng)用數(shù)量非常大。我們其實(shí)是做了一個(gè)分層,根據(jù)一個(gè)系統(tǒng)具備的容量不斷計(jì)算,最后計(jì)算出來(lái)阿里巴巴的集群容量。我們先做一個(gè)應(yīng)用系統(tǒng),通過(guò)分流,流量通過(guò)負(fù)載導(dǎo)入,把負(fù)載跑到最高之后計(jì)算。把這個(gè)APP整個(gè)集群,比如100臺(tái)服務(wù)器能支撐多少量計(jì)算出來(lái)。當(dāng)然數(shù)據(jù)庫(kù)非常難算,數(shù)據(jù)庫(kù)都是提前規(guī)劃的,一般來(lái)說(shuō)數(shù)據(jù)庫(kù)分庫(kù)分表之后,都是留了好幾年的量,比較困難一些。

通過(guò)這樣把整個(gè)集群的量和規(guī)模全部做出來(lái)是有問(wèn)題的,為什么呢?因?yàn)橄到y(tǒng)一旦開(kāi)始拆分之后一發(fā)而不可收拾,拆得越來(lái)越多。系統(tǒng)的依賴(lài)關(guān)系雖然是有工具能夠梳理出來(lái)的,但是我們沒(méi)有經(jīng)歷看到底哪些系統(tǒng)會(huì)因?yàn)檫@個(gè)場(chǎng)景下面什么原因?qū)е抡麄€(gè)集群出現(xiàn)了一個(gè)小問(wèn)題。一旦出現(xiàn)了一個(gè)小問(wèn)題,整個(gè)集群全部崩潰掉,這種問(wèn)題是沒(méi)法避免的。

在2013年之前都是基于這套體系去做,想想也是挺合理的,每個(gè)系統(tǒng)算出容量,一個(gè)個(gè)集群算出來(lái),再算出整個(gè)大集群也是可以的,但是它還不是一個(gè)非常好的解決方案。它非常好的一點(diǎn)是可以自動(dòng)化運(yùn)行,可以每天跑出系統(tǒng)的容量,并且可以保證系統(tǒng)不腐化,日常的性能、指標(biāo)不腐化。

壓測(cè)平臺(tái)的架構(gòu)

2013年的雙十一是通過(guò)這套系統(tǒng)做的。通過(guò)幾種方式,通過(guò)模擬以及流量的復(fù)制,轉(zhuǎn)發(fā)的引流,還有負(fù)載均衡的流量去實(shí)現(xiàn)。整個(gè)系統(tǒng)做成自動(dòng)化,每周都會(huì)跑,根據(jù)發(fā)布前后的一天跑出來(lái)數(shù)據(jù)之后生成一個(gè)報(bào)表反饋性能有沒(méi)有下降可以得出。根據(jù)計(jì)算值準(zhǔn)備整個(gè)活動(dòng)流量大概要多少。這里有一些數(shù)據(jù),每個(gè)月有5天自動(dòng)做壓測(cè),這種情況下靠人工做性能壓測(cè)是做不到的,因?yàn)樗亲詣?dòng)化的。

剛才也講了一些缺陷,它是以點(diǎn)到面,通過(guò)一個(gè)點(diǎn)的容量評(píng)估,擴(kuò)展到一條線,擴(kuò)展到一個(gè)面。最大的問(wèn)題是沒(méi)有一個(gè)人搞得清楚整個(gè)架構(gòu)到底怎么樣,整個(gè)系統(tǒng)依賴(lài)關(guān)系里有遺漏之后會(huì)形成整體的崩潰。

為什么要做場(chǎng)景化的容量評(píng)估?

我們需要場(chǎng)景化壓測(cè)的另外一個(gè)原因是因?yàn)檎麄€(gè)背景的流量大部分用的是分流,分流意味著是用真實(shí)的流量去做的,所謂真實(shí)的流量其實(shí)是很低的,和做活動(dòng)相比流量非常低,沒(méi)有背景流量整個(gè)機(jī)房的網(wǎng)絡(luò)設(shè)備和交換機(jī)的流量無(wú)法跑滿,所以這些問(wèn)題是沒(méi)辦法暴露出來(lái)的。第二個(gè)問(wèn)題是場(chǎng)景化的確定性,每個(gè)人購(gòu)物流程是不一樣的,在不同的流程下面整個(gè)系統(tǒng)的資源必須確定下來(lái),要用最少的服務(wù)器支撐最大的量。

基于此,當(dāng)時(shí)有一套爭(zhēng)論,要怎么做場(chǎng)景化壓測(cè)這個(gè)事情?第一種方法,把整個(gè)淘寶網(wǎng)隔離出一個(gè)小的環(huán)境里面布100多個(gè)系統(tǒng)。整個(gè)流量引進(jìn)來(lái),把集群跑滿,流量跑滿。它比較好地解決了依賴(lài)關(guān)系的問(wèn)題,如果依賴(lài)出現(xiàn)問(wèn)題的時(shí)候,在這個(gè)環(huán)境是能夠驗(yàn)證的。但是沒(méi)辦法解決環(huán)境的問(wèn)題,那一年我們公司有一個(gè)業(yè)務(wù),就是因?yàn)闆](méi)有采用這套方案,采用了類(lèi)似于小環(huán)境的流量去驗(yàn)證的方案,導(dǎo)致入口交換機(jī)的整個(gè)流量跑滿。

場(chǎng)景化容量評(píng)估

所以需要有一個(gè)更簡(jiǎn)單可靠的評(píng)估工具,這就是基于場(chǎng)景化的全鏈路壓測(cè)。2013年之后我們?nèi)炕谶@套體系在做,首先要造數(shù)據(jù),流量希望能夠更接近真實(shí)的情況造出來(lái)。剛才提到臨近峰值是沒(méi)辦法做決策的,唯一能做的是什么?能夠提前模擬一次零點(diǎn)的峰值是什么樣子的嗎?我們希望把整個(gè)流量模擬出來(lái),這是一個(gè)理想的架構(gòu),但是它也有很多困難的地方。

我們要盡可能把數(shù)據(jù)造得精確,各種場(chǎng)景都要模擬出來(lái),比如優(yōu)惠券如何使用,購(gòu)物車(chē)?yán)锷唐繁壤嵌嗌?,一次下單有多少商品,最后多少商品提交到支付寶等等。?shù)據(jù)量每年越來(lái)越大,比如以2015年為例,數(shù)據(jù)量接近1T,把這1T的數(shù)據(jù)傳到中心,通過(guò)中心傳到壓測(cè)節(jié)點(diǎn)上去,這就是壓測(cè)集群。它是一個(gè)壓測(cè)工具,但是它本身又是一個(gè)集群性的壓測(cè)工具,它可以產(chǎn)生非常巨大的流量,與雙11一模一樣規(guī)模的數(shù)據(jù)。

把集群部署到CDN節(jié)點(diǎn)上,產(chǎn)生巨大的流量。這里有一些技術(shù)點(diǎn),壓測(cè)的工具要支持多種協(xié)議,比如HTTPS協(xié)議,需要提升性能。還要做流量的控制,根據(jù)業(yè)務(wù)場(chǎng)景的不同調(diào)節(jié)流量。第三點(diǎn)流量需要染色,右圖反映了真實(shí)的流量,這些全部是在線跑的,沒(méi)辦法在線下模擬這個(gè)環(huán)境,否則會(huì)影響線上正常的流量,所以要把正常的流量和壓測(cè)的流量完全區(qū)分開(kāi)來(lái)。第四點(diǎn)是流量的隔離。沒(méi)有流量隔離之前,我們只能在零點(diǎn)以后流量很低的時(shí)候,每個(gè)人都盯著自己的系統(tǒng)有沒(méi)有出現(xiàn)什么問(wèn)題,非常辛苦。第二年提了一個(gè)目標(biāo),希望能改善大家的幸福指數(shù),所以我們推出了流量隔離。

流量隔離是把整個(gè)集群從原來(lái)在線的集群,比較快地通過(guò)負(fù)載均衡隔離出一個(gè)集群出來(lái)。當(dāng)然隔離出的集群規(guī)模是非常大的,它可以占原來(lái)集群的從90%到10%。比如原來(lái)有10萬(wàn)臺(tái)服務(wù)器,可以隔離到9萬(wàn)臺(tái)服務(wù)器。因?yàn)闇?zhǔn)備做大促的時(shí)候,比如雙十一的流量是平時(shí)的20倍以上,所以平時(shí)流量非常低是可以隔離出來(lái)的,并且不會(huì)影響現(xiàn)有的流量。

整個(gè)過(guò)程是怎么樣的?以圖為例,ABCD這4個(gè)系統(tǒng)是日常的流量,原始的場(chǎng)景C所需要的服務(wù)器多,但是壓測(cè)之后發(fā)現(xiàn)B和D需要的服務(wù)器比較多。整個(gè)過(guò)程都是自動(dòng)化的,如果C不需要這么多服務(wù)器,它的服務(wù)器就會(huì)被下線,這些服務(wù)器就被自動(dòng)加到B和D。由于都是自動(dòng)化跑,效率非常高,而且不需要到凌晨跑。最后需要把隔離出來(lái)的集群還到原來(lái)在線的集群,變成服務(wù)器的比例,就可以準(zhǔn)備第二天的大考了。

流量評(píng)估的流程

整個(gè)容量評(píng)估的流程,從數(shù)據(jù)構(gòu)造到流量環(huán)節(jié),我們都有一個(gè)指揮部。比如我們要做一次活動(dòng),這次活動(dòng)大概要5萬(wàn)筆每秒的交易量,輸入5萬(wàn)筆每秒這個(gè)數(shù)字之后,整套系統(tǒng)開(kāi)始運(yùn)作,做壓測(cè)、做彈性調(diào)度、做隔離,這就是整個(gè)自動(dòng)化的過(guò)程。容量是可以預(yù)測(cè)的,但是沒(méi)辦法規(guī)劃,只能做限流。我們可以非常精確地預(yù)測(cè)出雙十一大概會(huì)來(lái)多少量,會(huì)來(lái)多少用戶(hù),以及當(dāng)時(shí)的峰值,都可以完全精確預(yù)測(cè)出來(lái)。

但預(yù)測(cè)出來(lái)也沒(méi)有太多的意義,能做的就是限流筆數(shù),比如2016年我們做到了17.5萬(wàn)筆,限流的值設(shè)定到了17.2萬(wàn),所有的系統(tǒng)先設(shè)定到這個(gè)值。這也是沒(méi)辦法的,因?yàn)檎鎸?shí)的流量比這個(gè)大得多,要支持真實(shí)的流量成本會(huì)非常高。

日常占有的服務(wù)器是非常低的,在大促的時(shí)候我們基本上都采用阿里云的服務(wù)器,所以成本下降明顯。所以說(shuō)整個(gè)容量規(guī)劃限定了一個(gè)值,比如說(shuō)17萬(wàn),明年可能是20萬(wàn),或者25萬(wàn),在這個(gè)值的基礎(chǔ)上,通過(guò)基于場(chǎng)景化的全鏈路壓測(cè)工具,然后把整個(gè)系統(tǒng)的容量壓測(cè)出來(lái),計(jì)算出來(lái),把整個(gè)服務(wù)器資源占用拉平。這樣做的好處是用了最少的資源做了一次最成功的活動(dòng)。

場(chǎng)景化容量評(píng)估的表現(xiàn)

從2013年開(kāi)始,我們通過(guò)這套技術(shù)發(fā)現(xiàn)了大量的問(wèn)題,而且這些問(wèn)題經(jīng)過(guò)日常的測(cè)試,功能測(cè)試,或者一些工具的測(cè)試,是沒(méi)辦法發(fā)現(xiàn)這些問(wèn)題。硬件、網(wǎng)絡(luò)、操作系統(tǒng)的問(wèn)題,從來(lái)沒(méi)有發(fā)現(xiàn)的問(wèn)題全部暴露出來(lái),在大負(fù)載情況下表現(xiàn)出各種詭異的問(wèn)題。

任何一個(gè)問(wèn)題在雙十一發(fā)生,可能都是災(zāi)難性的。2013年我們做完這些事情之后,回頭看2012年、2011年,不出問(wèn)題還怪,肯定會(huì)出問(wèn)題。凡是峰值流量是平時(shí)峰值超過(guò)多少倍以上的活動(dòng)肯定會(huì)出問(wèn)題,因?yàn)楹芏嗟膯?wèn)題沒(méi)辦法通過(guò)一些邏輯,通過(guò)一些思考找出來(lái)的,它必須借助一個(gè)真實(shí)的環(huán)境,模擬出所有場(chǎng)景的流量把它營(yíng)造出來(lái)。

容量評(píng)估的總結(jié)

容量規(guī)劃是一個(gè)領(lǐng)域、一個(gè)長(zhǎng)時(shí)間的過(guò)程。最初利用商業(yè)軟件做性能壓測(cè),當(dāng)時(shí)覺(jué)得這個(gè)軟件應(yīng)用挺好的,也能夠支撐整個(gè)容量的一些計(jì)算,甚至今天很多的公司還在用類(lèi)似的軟件做性能的評(píng)估,它也是不斷引進(jìn)的過(guò)程。后來(lái)發(fā)現(xiàn),其實(shí)與真實(shí)壓測(cè)評(píng)估的容量還相差非常遠(yuǎn),所以我們引入了線上的壓測(cè),引入了分流、復(fù)制流量、及日志的回放,通過(guò)一個(gè)個(gè)節(jié)點(diǎn)把自己的流量評(píng)估出來(lái)。

當(dāng)時(shí)覺(jué)得這套系統(tǒng)很厲害,因?yàn)楫?dāng)時(shí)做了這套系統(tǒng)獲得了整個(gè)技術(shù)部的創(chuàng)新大獎(jiǎng),所以覺(jué)得有了這套系統(tǒng)以后,以后做雙十一就不用愁了,做任何活動(dòng)就不用愁了,覺(jué)得這是非常了不起的系統(tǒng)。實(shí)際情況還是需要不斷地發(fā)展,做了全鏈路壓測(cè),整個(gè)鏈路基于場(chǎng)景化的真實(shí)場(chǎng)景模擬,把整個(gè)集群壓測(cè)出來(lái)。

回過(guò)頭來(lái)看,在一個(gè)領(lǐng)域里面,當(dāng)自己滿足于當(dāng)前現(xiàn)狀的時(shí)候,比如說(shuō)CSP“日常的壓測(cè)平臺(tái)”能夠完全滿足于當(dāng)前現(xiàn)狀,而且已經(jīng)領(lǐng)先于國(guó)內(nèi)很多產(chǎn)品的時(shí)候,其實(shí)你還是可以繼續(xù)往前走一步。

我們只是做了雙十一創(chuàng)新里容量規(guī)劃這個(gè)點(diǎn)。阿里巴巴整個(gè)技術(shù)架構(gòu)非常統(tǒng)一,因?yàn)樽隽巳溌穳簻y(cè)之后,很多的業(yè)務(wù)單元,像支付寶等等都可以采用這種方式做,它可以非常簡(jiǎn)單地復(fù)制出去,這也給我們帶來(lái)了非常低的成本。從研發(fā)開(kāi)始到學(xué)習(xí),以及運(yùn)維的過(guò)程,運(yùn)維的產(chǎn)品線,帶給了我們非常低的成本。所以我們整個(gè)團(tuán)隊(duì)人非常少,做全線路壓測(cè)就4、5個(gè)人,但是它服務(wù)了整個(gè)集團(tuán)100多個(gè)業(yè)務(wù)方,這也是因?yàn)檎麄€(gè)架構(gòu)的統(tǒng)一性。

今年雙十一做完了之后,我們的CTO也給我們提出了新的挑戰(zhàn):雙十一的整個(gè)過(guò)程可以投入更少的成本,全鏈路壓測(cè)是對(duì)日常系統(tǒng)的一種驗(yàn)證,而不是找問(wèn)題本身,同時(shí)希望我們的系統(tǒng)更加的自動(dòng)化和智能化。我們正在思考如何實(shí)現(xiàn)。

作者介紹

蔣江偉,花名小邪,阿里巴巴研究員,08年加入淘寶網(wǎng),參與業(yè)務(wù)系統(tǒng)研發(fā)工作。 12年開(kāi)始負(fù)責(zé)阿里巴巴中間件技術(shù)產(chǎn)品和高可用架構(gòu),中間件產(chǎn)品是阿里巴巴電商等業(yè)務(wù)分布式架構(gòu)的基礎(chǔ)技術(shù)組件,使得各種業(yè)務(wù)系統(tǒng)能快速構(gòu)建一套高可用的分布式架構(gòu)集群。

今日薦文

點(diǎn)擊下方圖片即可閱讀

回顧容器的2016:「已死」or「永生」?


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
【干貨】阿里研究員蔣江偉:雙十一背后的分布式技術(shù)
服務(wù)器集群負(fù)載均衡好大一個(gè)IP (F5,LVS,DNS,CDN)
達(dá)達(dá)京東到家:微服務(wù)架構(gòu)下的鏈路管理
有道云筆記
類(lèi)似跨年夜這樣的大流量事件,F(xiàn)acebook技術(shù)團(tuán)隊(duì)是如何應(yīng)對(duì)的?
電商總結(jié)(六)系統(tǒng)容量預(yù)估
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服