微博 Docker 化混合云平臺(tái)設(shè)計(jì)首度揭秘!
8億用戶、單日活躍人數(shù)超過(guò)1億人、每日超過(guò)600億次的API調(diào)度、超過(guò)1兆次遠(yuǎn)端程序呼叫,甚至連Log記錄檔每天都爆增100TB,這是新浪微博平臺(tái)維運(yùn)架構(gòu)師王關(guān)勝所面對(duì)的挑戰(zhàn),他得設(shè)計(jì)出一個(gè)有能力勝任這些考驗(yàn)的微博系統(tǒng)的新一代架構(gòu),而且高層給他的要求是,系統(tǒng)反應(yīng)時(shí)間不得超過(guò) 50ms。
王關(guān)勝表示,微博如此大規(guī)模的業(yè)務(wù),除了面臨系統(tǒng)快速更新的任務(wù),各種不同系統(tǒng)元件間的依賴關(guān)系也相當(dāng)復(fù)雜。而當(dāng)國(guó)際事件、名人丑聞等高關(guān)注度的議題發(fā)生時(shí),經(jīng)常導(dǎo)致微博的業(yè)務(wù)量遽增,使得系統(tǒng)流量達(dá)到頂峰。
尤其遇到大型節(jié)日或活動(dòng)時(shí),如元旦、春晚、圣誕節(jié)還有紅包飛等大型活動(dòng),同樣也會(huì)為微博帶來(lái)巨大的流量挑戰(zhàn)。王關(guān)勝表示,位于三節(jié)的日子,微博的系統(tǒng)流量,會(huì)在3個(gè)小時(shí)內(nèi)沖上頂峰,而紅包飛則是帶來(lái)瞬間的峰值流量,在兩個(gè)小時(shí)內(nèi)就達(dá)到***點(diǎn)。過(guò)去面對(duì)此樣的峰值事件,微博需要調(diào)度大量硬體設(shè)備。而如此做法,除了成本高外,系統(tǒng)在進(jìn)行水平擴(kuò)充時(shí),也必須耗費(fèi)更多的時(shí)間。
過(guò)長(zhǎng)的前置作業(yè)時(shí)間為微博帶來(lái)營(yíng)運(yùn)痛點(diǎn)
而繁瑣擴(kuò)充流程所花費(fèi)的時(shí)間,為微博帶來(lái)了營(yíng)運(yùn)痛點(diǎn)。過(guò)去當(dāng)峰值事件出現(xiàn)時(shí),首先,維運(yùn)團(tuán)隊(duì)必須申請(qǐng)實(shí)體機(jī)器,將其登入組態(tài)管理資料庫(kù)(CMDB),在機(jī)房安裝妥當(dāng)后,交予***線作業(yè)人員進(jìn)行初始化,并開(kāi)始進(jìn)行部署作業(yè),如環(huán)境部署、監(jiān)控部署、服務(wù)部署及流量導(dǎo)入等流程。
王關(guān)勝表示,過(guò)去的水平擴(kuò)充的方法,也可能因?yàn)楦鱾€(gè)服務(wù)間的系統(tǒng)環(huán)境差異,無(wú)法充分使用硬體資源,即使有多余的伺服器也無(wú)法靈活調(diào)度。然而,在設(shè)備充足的狀況下,完成正常的設(shè)備申請(qǐng)程序也必須花上一天,甚至可能碰上沒(méi)有足夠設(shè)備的狀況,使得系統(tǒng)進(jìn)行水平擴(kuò)充花上更多時(shí)間。
另外,微博也有許多使用率不高、閒置在各叢集跟服務(wù)池的實(shí)體基礎(chǔ)設(shè)施,而微博過(guò)去在應(yīng)付紅包飛、三節(jié)爆增流量的作法,會(huì)預(yù)先在各個(gè)業(yè)務(wù)的伺服器叢集,準(zhǔn)備多余硬體設(shè)備,用來(lái)因應(yīng)峰值突發(fā)的事件。而預(yù)先準(zhǔn)備多余設(shè)備,則包含采購(gòu)周期過(guò)長(zhǎng)、機(jī)房空間不足所帶來(lái)的高營(yíng)運(yùn)成本外等缺點(diǎn)。
而設(shè)備申請(qǐng)時(shí)間周期長(zhǎng)、使用率不高的閒置設(shè)備,則對(duì)新浪微博帶來(lái)龐大的成本壓力。而因?yàn)槊媾R這些挑戰(zhàn)、痛點(diǎn),「我們要建構(gòu)有彈性的混合云系統(tǒng)。」王關(guān)勝表示,微博的新做法是,導(dǎo)入公有云并結(jié)合過(guò)去的私有云,集結(jié)各業(yè)務(wù)叢集多余的運(yùn)算設(shè)施,構(gòu)建混合云的系統(tǒng)架構(gòu)。
他表示,混合云架構(gòu)除了妥善集成內(nèi)部硬體資源,解決內(nèi)部的彈型需求外,當(dāng)系統(tǒng)面臨流量劇增的峰值事件,亦可以將過(guò)多的流量引導(dǎo)至外部公有云,減輕內(nèi)部系統(tǒng)的壓力。
王關(guān)勝分析了采用混合云作法的好處,他表示,內(nèi)部私有云具備安全性高、掌握度高的特性,也可以因應(yīng)內(nèi)部需求,對(duì)硬體配置進(jìn)行優(yōu)化,適合處理固定的工作負(fù)載。而公有云的設(shè)備則具有標(biāo)準(zhǔn)化、自動(dòng)化的特性,可以快速因應(yīng)臨時(shí)需求,在爆增流量的狀況下,讓企業(yè)具備水平擴(kuò)充工作負(fù)載的能力。企業(yè)也可以利用公有云按照使用流量的付費(fèi)機(jī)制,減低固定的營(yíng)運(yùn)成本,而采用混合云架構(gòu),可以兼具私有云以及公有云的優(yōu)點(diǎn),「可以同時(shí)擁有安全性與彈性擴(kuò)充能力」,使系統(tǒng)工作負(fù)載可以在叢集間進(jìn)行遷移,讓低負(fù)載的叢集配置較少的設(shè)備,反之,負(fù)載高的叢集則必須準(zhǔn)備足夠的設(shè)備。而將Docker導(dǎo)入混合云的架構(gòu),也使微博服務(wù)穩(wěn)定度高上許多。
透過(guò)三大關(guān)鍵,實(shí)現(xiàn)Docker混合云
微博混合云系統(tǒng)不單只是一般的混合云,而是導(dǎo)入了Docker,透過(guò)Docker Container快速部署的特性,解決爆量事件對(duì)微博系統(tǒng)帶來(lái)的壓力。過(guò)去企業(yè)在面對(duì)爆量事件,一般采取的作法是,首先評(píng)估需要多少額外設(shè)備,并向外部公有云申請(qǐng)機(jī)器分?jǐn)偭髁俊H欢丝赡艿凸缿?yīng)付爆量所需的設(shè)備外,即使事先準(zhǔn)備了足夠的VM,其部署時(shí)間成本也遠(yuǎn)高于Docker,無(wú)法即時(shí)幫助企業(yè)分?jǐn)傔^(guò)多外部請(qǐng)求。
而王關(guān)勝表示,微博Docker Container平臺(tái)的混合云核心設(shè)計(jì)思想,主要是借鏡銀行的運(yùn)作機(jī)制。他表示,民眾可以把錢(qián)存在銀行,而需要使用金錢(qián)的時(shí)候,只需要提領(lǐng)一部分,剩余的存款銀行可以拿去進(jìn)行投資。而微博則借鏡銀行的這一套運(yùn)作模式,在內(nèi)部設(shè)立一個(gè)硬體資源共享池外,還導(dǎo)入了外部公有云。
而要微博實(shí)現(xiàn)高彈性調(diào)度資源的混合云架構(gòu),其中實(shí)現(xiàn)的關(guān)鍵則是Docker。王關(guān)勝表示,剛開(kāi)始他們思考該要使用裸機(jī)還是VM架構(gòu),作為Docker Container的基礎(chǔ)設(shè)施。后來(lái),考量如果要采用VM,內(nèi)部機(jī)房架構(gòu)要進(jìn)行許多改造。所以,目前微博的內(nèi)部私有云使用裸機(jī)部署,而外部公有云則采用阿里云彈性計(jì)算服務(wù)(ECS)的VM架構(gòu)。
王關(guān)勝也揭露微博構(gòu)成Docker Container平臺(tái)基礎(chǔ)架構(gòu)的3大關(guān)鍵,包含Docker在裸機(jī)上的部署架構(gòu)、自主開(kāi)發(fā)的Docker Registry以及網(wǎng)頁(yè)伺服器Nginx Upsync模塊。
***是Docker Container的裸機(jī)部署方案,透過(guò)IP位址以及Port定義一個(gè)唯一的Container服務(wù),而每臺(tái)伺服器上則可以開(kāi)啟多個(gè)Container,各個(gè)具有不同的功能。
例如,每一個(gè)Container服務(wù)所產(chǎn)生的行為日志,會(huì)經(jīng)由一個(gè)名為Scribe的Container集中收集。而集中后的數(shù)據(jù)則可進(jìn)行用戶行為分析。
此外,如果要進(jìn)行Container的運(yùn)作監(jiān)控,則是透過(guò)建立Cadvisor Container,將Container運(yùn)行產(chǎn)生的資料,傳送至Elasticsearch、Logstash及Kibana這3種開(kāi)源監(jiān)控軟體,進(jìn)行分析。或是,搭配開(kāi)源測(cè)量工具Graphite,監(jiān)控系統(tǒng)的運(yùn)作狀況。
第二則是Docker Registry,王關(guān)勝表示,微博使用Docker官方提供的Docker Registry,構(gòu)建了私有的映像檔儲(chǔ)存庫(kù)Registry Hub,并且透過(guò)這個(gè)映像檔儲(chǔ)存庫(kù)調(diào)度Docker Container需要的映像檔。
在今年,微博開(kāi)發(fā)出了第2版本的Registry Hub,將儲(chǔ)存引擎改為使用分散式開(kāi)源儲(chǔ)存平臺(tái)Ceph,并且在Docker Registry前端結(jié)合Nginx,實(shí)作負(fù)載平衡功能。王關(guān)勝表示,在升級(jí)過(guò)程中必須讓系統(tǒng)能夠兼容新舊版本的Registry Hub,而前端Nginx可以分析系統(tǒng)需求,辨別要從新版本或是舊版本映像檔儲(chǔ)存庫(kù)下載映像檔。
而外部公有云,微博則是透過(guò)映像檔快取,不必像私有云一樣,部署完整的映像檔儲(chǔ)存庫(kù)。微博位于阿里云映像檔快取架構(gòu),總共包含3層架構(gòu)。包含***層作業(yè)系統(tǒng)、中間層的運(yùn)作環(huán)境如Java、 Tomcat,及最上層的Container。而在調(diào)度Container時(shí),透過(guò)使用dockerignore指令,減少不必要的文件、目錄,借此減低映像檔的容量。在映像檔標(biāo)簽命名上,微博則禁止使用「Latest」做為映像檔標(biāo)簽。王關(guān)勝表示,由于不同使用者對(duì)于標(biāo)簽的理解不一,可能會(huì)誤以為是代表映像檔***的版本。
而第三則是微博開(kāi)發(fā)的Nginx Upsync模塊,王關(guān)勝表示,去年微博開(kāi)始使用Container時(shí),必須透過(guò)Container將Nginx掛載至前端,執(zhí)行負(fù)載平衡的任務(wù)。而 Nginx部署完成后,必須透過(guò)重啟reload指令重啟Nginx。王關(guān)勝發(fā)現(xiàn),Nginx對(duì)于特別大的流量會(huì)發(fā)生運(yùn)作不穩(wěn)定的情形。所以微博也直接開(kāi)發(fā)了Nginx Upsync模塊,不需要透過(guò)reload指令重啟,也可以保持系統(tǒng)穩(wěn)定運(yùn)作。而微博也針對(duì)兩種模塊進(jìn)行比較,發(fā)現(xiàn)流量大時(shí),未修改的Nginx模塊會(huì)比 Nginx Upsync模塊多上10%的請(qǐng)求。

(圖片來(lái)源/王關(guān)勝)
目前微博開(kāi)發(fā)的Docker Container平臺(tái)系統(tǒng),主要包含4層架構(gòu):主機(jī)層、調(diào)度層及排程層,最上層則是包含應(yīng)用程式的業(yè)務(wù)層。底層的混合云基礎(chǔ)架構(gòu)則架設(shè)了專線,打通微博內(nèi)部資料中心以及阿里云。
混合云系統(tǒng)設(shè)計(jì)核心:自動(dòng)化、彈性調(diào)度
微博混合云系統(tǒng)的設(shè)計(jì)理念,總共包含4個(gè)核心概念:彈性伸縮、自動(dòng)化、業(yè)務(wù)導(dǎo)向以及專門(mén)為微博訂制。王關(guān)勝表示,混合云系統(tǒng)必須有彈性調(diào)度的運(yùn)算能力。而微博混合云系統(tǒng)并不是對(duì)外公開(kāi)的產(chǎn)品化服務(wù),必須以業(yè)務(wù)需求出發(fā),因此會(huì)有包含許多微博自我訂制的功能。
目前微博開(kāi)發(fā)的Docker Container平臺(tái)系統(tǒng),總共包含3層架構(gòu):主機(jī)層、調(diào)度層及排程層。王關(guān)勝解釋,主機(jī)層的核心是要調(diào)度運(yùn)算資源。目前微博也設(shè)計(jì)了資源共享池、 Buffer資源池及多租戶管理機(jī)制,借此實(shí)現(xiàn)彈性調(diào)度資源。此外,底層的混合云基礎(chǔ)架構(gòu),也架設(shè)了專線,打通微博內(nèi)部資料中心以及阿里云。
而調(diào)度層則透過(guò)API,使用調(diào)度工具將API進(jìn)行包裝,而微博4種常用的調(diào)度工具組合包含:Docker、Swarm、Mesos及微博自主開(kāi)發(fā)的Dispatch。
而最上層的排程層則是負(fù)責(zé)負(fù)載平衡。目前,微博的后端服務(wù)全部是Java環(huán)境,而個(gè)人電腦端則是使用PHP撰寫(xiě),行動(dòng)裝置端則是透過(guò)調(diào)度API。編排層也導(dǎo)入了大資料工具Hadoop,執(zhí)行大資料分析。

(圖片來(lái)源/王關(guān)勝)
當(dāng)業(yè)務(wù)A多馀的運(yùn)算資源導(dǎo)入混合云共享池時(shí),此時(shí)爆量的業(yè)務(wù)C,可從共享池調(diào)度業(yè)務(wù)A的運(yùn)算資源,而度過(guò)峰值事件后,便可以把多馀的運(yùn)算資源歸還至共享池。
微博引入阿里云做為第3機(jī)房,實(shí)現(xiàn)彈性調(diào)度架構(gòu)
然而,王關(guān)勝也在思考,依照微博目前的技術(shù)框架,採(cǎi)用混合云的架構(gòu)是否可行。目前微博機(jī)房的部署架構(gòu)總共分為3層,依序是最上層域名以及負(fù)載均衡層。中間則是Web層,包含各種前端框架以及中介軟體(Middleware)。而最下層則包含MySQL、Redis、HBase等資料庫(kù)架構(gòu),而底部資源的中介軟體,則部署于中間Web層。
微博內(nèi)部總共有2個(gè)機(jī)房,兩者互相做為災(zāi)難備份用途,而第3個(gè)機(jī)房則採(cǎi)用外部阿里云。王關(guān)勝表示,混合云架構(gòu)總共有2種部署方桉。第1種部署方桉,將阿里云視為資料中心,底層架構(gòu)與微博內(nèi)部機(jī)房一樣部署Redis。內(nèi)部機(jī)房採(cǎi)用Linux虛擬伺服器,做為負(fù)載平衡層,但外部公有云則採(cǎi)用伺服器負(fù)載平衡SLB。而外部機(jī)房的中間Web層則與內(nèi)部機(jī)房架構(gòu)一致。不過(guò),王關(guān)勝表示,由于微博有資料安全性的考慮,仍然把阿里云做為應(yīng)付大量峰值的備桉,儲(chǔ)存***性資料的MySQL、HBase資料庫(kù)架構(gòu)并不會(huì)部署于阿里云。
而第2種部署方式則不將阿里云視為完整資料中心,僅是把內(nèi)部機(jī)房應(yīng)付爆量事件需要的彈性計(jì)算能力,遷移到阿里云。王關(guān)勝表示,第2種部署方桉困難之處,需要把微博的內(nèi)部業(yè)務(wù)進(jìn)行改造,讓微博中間Web層,直接對(duì)阿里云機(jī)房進(jìn)行遠(yuǎn)端程序呼叫。他表示,此種方桉部署結(jié)構(gòu)相較比較簡(jiǎn)單,也讓混合云架構(gòu)具有實(shí)現(xiàn)可行性。
而這2種方桉都會(huì)仰賴VPC網(wǎng)路,王關(guān)勝表示,如果有沒(méi)有專線,想實(shí)現(xiàn)公有云的彈性計(jì)算能力幾乎是不可能。因?yàn)楣W(wǎng)調(diào)度資源的延遲時(shí)間太高,無(wú)法應(yīng)付微博大量的業(yè)務(wù)。
因此,微博與跟阿里云合作,在兩邊建立了內(nèi)部專線,讓阿里云機(jī)房與微博的機(jī)房互通。最早微博機(jī)房跟阿里云建立一個(gè)1G專線,用于日常峰值,在春節(jié)則是透過(guò)10G的專線應(yīng)付。
但是后來(lái)微博發(fā)現(xiàn),如果只有一條專線,在峰值爆量的狀況下也很難彈性調(diào)度運(yùn)算計(jì)算資源。因此微博也在另一個(gè)機(jī)房中,開(kāi)啟了另一條專線。透過(guò)建立私有云及公有云間的專線,「目前微博已經(jīng)達(dá)到高可用性的目標(biāo)。」王關(guān)勝表示。
三大步驟完成大規(guī)模叢集操作自動(dòng)化
微博Docker Container平臺(tái)設(shè)計(jì)思維,核心目標(biāo)就是透過(guò)自動(dòng)化操作大規(guī)模叢集,進(jìn)行彈性調(diào)度資源的任務(wù),要完成此任務(wù),必須經(jīng)過(guò)3個(gè)流程:設(shè)備申請(qǐng)、設(shè)備初始化及系統(tǒng)水平擴(kuò)展。
王關(guān)勝表示,彈性擴(kuò)充任務(wù)所需要的設(shè)備來(lái)源是內(nèi)部的叢集以及外部的阿里云。而申請(qǐng)到足夠設(shè)備后,也必須對(duì)伺服器進(jìn)行初始化、架設(shè)環(huán)境及配置管理。***一步則是將伺服器上線,開(kāi)始執(zhí)行Container調(diào)度以及彈性擴(kuò)充的任務(wù)。
第 1步驟則是申請(qǐng)?jiān)O(shè)備,而設(shè)備申請(qǐng)借鏡于銀行機(jī)制的概念。王關(guān)勝分析,私有云的設(shè)備來(lái)源,主要來(lái)自離線叢集、低負(fù)載叢集以及錯(cuò)峰時(shí)間空出的多馀設(shè)備。他解釋,離線叢集并不是時(shí)時(shí)刻刻都在執(zhí)行運(yùn)算,即使稍微減少硬體資源,也不會(huì)對(duì)業(yè)務(wù)產(chǎn)生重大影響,而工作負(fù)載較低的叢集,如果有多馀的資源也可以進(jìn)行調(diào)度。此外,微博有上百個(gè)業(yè)務(wù)線,每個(gè)業(yè)務(wù)線峰值出現(xiàn)的時(shí)間點(diǎn)都不一樣,而在此種狀況下,各業(yè)務(wù)也可以互相支援,共享多馀的硬體資源。
而不同業(yè)務(wù)的叢集則各自獨(dú)立,并且具有獨(dú)立的資源池。叢集內(nèi)可以自由調(diào)度資源,例如,縮小A服務(wù)的規(guī)模,將多馀的運(yùn)算資源分派給B服務(wù)。若叢集要調(diào)度外部資源,微博另外也有設(shè)計(jì)配額制度,控制每個(gè)叢集分配到的資源。在叢集外,必須看Buffer池是否有足夠的資源,如果足夠的話,可以直接將Buffer池內(nèi)的設(shè)備初始化,進(jìn)行使用。
反之,如果Buffer池內(nèi)的資源不足,也必須查看是否有足夠的配額,可以直接申請(qǐng)機(jī)器。當(dāng)設(shè)備申請(qǐng)完成,登入Buffer池后,隨即被納入混合云系統(tǒng)中,而調(diào)度硬體的程序也都會(huì)經(jīng)由Buffer池。
而正常運(yùn)作的設(shè)備,會(huì)從未初始化狀態(tài),歷經(jīng)初始化、Container啟動(dòng)以及Container上線等程序。不過(guò),王關(guān)勝表示,設(shè)備異常的狀況也十分常見(jiàn)。如果設(shè)備異常就必須就要下線,如果重啟后運(yùn)作正常,則可以重新回到Buffer池供人調(diào)度。但若出現(xiàn)硬體錯(cuò)誤,則逕行走向報(bào)修程序。
第 2步驟則是設(shè)備初始化,王關(guān)勝表示,藉由DHCP機(jī)制,微博可以達(dá)到作業(yè)系統(tǒng)升級(jí)自動(dòng)化、系統(tǒng)操作API化。而伺服器所依賴的基礎(chǔ)環(huán)境、需要的軟體等環(huán)境配置,透過(guò)組態(tài)管理工具Puppet,將需要的配置撰寫(xiě)在模組中,完成組態(tài)自動(dòng)化設(shè)定,并使用RPM機(jī)制打包,進(jìn)行安裝。
在初始化流程中,必須要支援軟體反安裝模式,例如,當(dāng)A業(yè)務(wù)單位要調(diào)度設(shè)備時(shí),其他單位在交付設(shè)備前,必須要先透過(guò)反安裝程序,將要設(shè)備恢復(fù)為最原始的狀態(tài)。
而目前業(yè)界中的一些做法也可以免去初始化的流程。例如導(dǎo)入為Container而生的作業(yè)系統(tǒng),像是CoreOS、RancherOS或Red Hat Atomic。不過(guò),王關(guān)勝表示,雖然此種做法的可維護(hù)性高,但是缺點(diǎn)在于遷移設(shè)備的成本較高。
第 3步驟則是利用完成初始化的設(shè)備,開(kāi)始進(jìn)行服務(wù)水平擴(kuò)充。王關(guān)勝表示,目前***線的作業(yè)人員,只要在系統(tǒng)頁(yè)面上輸入服務(wù)池名稱、服務(wù)類型、 Container類型、需要Container數(shù)量以及映像檔位址等參數(shù),而在水平擴(kuò)充完成后,系統(tǒng)也會(huì)產(chǎn)出完整的報(bào)告,列出擴(kuò)充程序中,執(zhí)行的事項(xiàng),以及每件任務(wù)的成功、失敗狀況。
導(dǎo)入Docker混合云,不怕爆量事件
為了確保微博 Docker混合云平臺(tái)系統(tǒng)的高可用性,微博也成立了技術(shù)保障團(tuán)隊(duì)。王關(guān)勝表示,技術(shù)保障團(tuán)隊(duì)最重要的任務(wù),就是要保障產(chǎn)品的穩(wěn)定性,讓系統(tǒng)在三節(jié)、紅包飛等尖峰時(shí)段系統(tǒng)運(yùn)作無(wú)誤。王關(guān)勝表示,微博會(huì)優(yōu)先調(diào)度內(nèi)部的共享池資源的運(yùn)算資源。而儲(chǔ)存節(jié)點(diǎn)、***性資料放在微博內(nèi)部,確保資料的安全性。但是在紅包飛、春晚時(shí),則必須調(diào)度外部的運(yùn)算資源。平日的正常狀況下,阿里云只需提供1,000個(gè)運(yùn)算節(jié)點(diǎn),并且在5到10分鐘內(nèi)完成部署任務(wù)。但是,面對(duì)春晚、紅包飛的爆增流量,則要提供3,000個(gè)節(jié)點(diǎn)。王關(guān)勝表示,這種與阿里云租借公有云的做法,只需要應(yīng)付臨時(shí)的爆增峰值事件,因此,也可以大大降低微博的日常運(yùn)作成本。
目前微博的Docker混合云系統(tǒng),才在今年10月完成,開(kāi)始啟用不滿3個(gè)月,開(kāi)啟的Container數(shù)量約是3,000 個(gè)。不過(guò),王關(guān)勝表示,在今年的雙11,微博也用此系統(tǒng)進(jìn)行實(shí)地演練,也達(dá)成微博所設(shè)定每次水平擴(kuò)充時(shí)間低于5分鐘的目標(biāo),并完成一日內(nèi)10次的水平擴(kuò)展的任務(wù)。「有這樣的彈性調(diào)度能力時(shí),系統(tǒng)面對(duì)大型活動(dòng)的峰值壓力就小很多。」王關(guān)勝表示。
(圖片來(lái)源/iThome)