隨著蘇寧線下線上業(yè)務(wù)以及全產(chǎn)業(yè)、全業(yè)態(tài)規(guī)模式快速增長,特別是每年蘇寧 818 大促、雙 11 等大促節(jié)點(diǎn),銷售訂單基本都呈現(xiàn)倍數(shù)級(jí)增長態(tài)勢(shì),需要進(jìn)行大量資源擴(kuò)容,單個(gè)的容量有限,已經(jīng)無法支撐蘇寧業(yè)務(wù)的快速發(fā)展。同時(shí),單數(shù)據(jù)中心在高可用上存在不足,一旦數(shù)據(jù)中心發(fā)生故障,會(huì)導(dǎo)致業(yè)務(wù)受損,用戶訪問中斷,帶來嚴(yán)重的影響。針對(duì)以上問題,蘇寧規(guī)劃建設(shè)多數(shù)據(jù)中心解決方案迫在眉睫。
1方案選擇
參考業(yè)界多數(shù)據(jù)中心實(shí)踐,目前主流的多數(shù)據(jù)中心的解決方案有如下幾個(gè):
主備模式
同城雙活
多活模式
介紹這幾個(gè)方案前,我們先來看下相關(guān)概念:
Cell:業(yè)務(wù)可封閉收斂最小執(zhí)行分片;業(yè)務(wù)對(duì)請(qǐng)求空間按一定維度(比如會(huì)員、門店等)劃分分片。
LDC:邏輯數(shù)據(jù)中心,是由多個(gè)業(yè)務(wù)可封閉 cell 組成的集合單元,擁有獨(dú)立的基礎(chǔ)中間件系統(tǒng)(包括 RPC, MQ, DNS 等),以及出口網(wǎng)絡(luò)等。
PDC:物理數(shù)據(jù)中心,指物理上獨(dú)立的一棟建筑,一般每棟有好幾層, 存放一系列機(jī)柜和上千和上萬服務(wù)器, 構(gòu)成一個(gè) PDC。
AZ(Available Zone):可用區(qū),具有獨(dú)立的故障隔離空間,擁有獨(dú)立網(wǎng)絡(luò)設(shè)施或電力設(shè)備,由相鄰的單個(gè)或多個(gè) PDC 組成。
Region:地理區(qū)域,有多可用區(qū)所組成的集合,區(qū)域之間故障域完全隔離。
1、主備模式
主機(jī)房提供服務(wù),備用機(jī)房不提供服務(wù),當(dāng)主機(jī)房故障,服務(wù)可切換到備用機(jī)房接管。
2、同城雙活
同一個(gè)集群橫跨同城兩個(gè)不同的 AZ,兩個(gè) AZ 同時(shí)對(duì)外提供服務(wù),同時(shí)允許跨機(jī)房訪問不同服務(wù)以及數(shù)據(jù)庫。
3、多活模式
多個(gè)機(jī)房同時(shí)提供服務(wù),業(yè)務(wù)請(qǐng)求盡量收斂在同一個(gè)機(jī)房,當(dāng)某個(gè)機(jī)房故障時(shí),可以切換其它接管機(jī)房。
4、方案比較
鑒于蘇寧線上 / 線下交易業(yè)務(wù)和支付業(yè)務(wù)特性,以及異地?cái)?shù)據(jù)中心的要求,通過技術(shù)評(píng)估和決策,最終選擇多活模式。
由于選擇了難度最大的一種方案模式,多活方案將涵蓋蘇寧所有核心業(yè)務(wù)以及基礎(chǔ)組件,需要考慮和關(guān)注的問題非常多,一旦設(shè)計(jì)發(fā)生偏差,調(diào)整的代價(jià)將非常大。為了確保方案的合理性,可實(shí)施性,首先我們討論并制定了頂層設(shè)計(jì),包括目標(biāo)、價(jià)值和設(shè)計(jì)原則,并在設(shè)計(jì)過程中不斷的復(fù)盤,以保證設(shè)計(jì)不偏離主航道。
2頂層設(shè)計(jì)
頂層設(shè)計(jì)是多活相關(guān)的干系中心經(jīng)過充分討論,并最終達(dá)成一致的最高方針??傮w方案以及各個(gè)業(yè)務(wù)系統(tǒng)方案都必須有嚴(yán)格遵守的規(guī)范和要求,包括目標(biāo)、價(jià)值和原則。
1、目標(biāo)
機(jī)房水平擴(kuò)展:單機(jī)房容量有限,業(yè)務(wù)高增長帶來大量的資源需求,多活需要具備機(jī)房水平擴(kuò)展能力,為資源擴(kuò)容提供保障。
機(jī)房之間同城和異地高可用:單機(jī)房存在單點(diǎn)故障風(fēng)險(xiǎn),多活需要具備機(jī)房級(jí)別的高可用能力,在一個(gè)機(jī)房出現(xiàn)故障時(shí),能夠?qū)⒘髁靠焖偾械狡渌5臋C(jī)房,對(duì)業(yè)務(wù)的影響降低到最小。
2、價(jià)值
支持業(yè)務(wù)的快速發(fā)展:蘇寧每年的業(yè)務(wù)規(guī)模成倍數(shù)級(jí)增長,所依賴的 IT 資源也快速增長,通過機(jī)房的水平擴(kuò)展,解決單機(jī)房容量不足問題,以支持業(yè)務(wù)的發(fā)展。
同城與異地容災(zāi):當(dāng)機(jī)房出現(xiàn)電源或網(wǎng)絡(luò)以及地震等機(jī)房級(jí)別故障,通過機(jī)房級(jí)別的流量切換實(shí)現(xiàn)同城與異地容災(zāi),將對(duì)業(yè)務(wù)的影響降低到可控水平。
混合云降低持有成本:由于電商業(yè)務(wù)的特殊性,大促流量與平時(shí)流量相差上百倍,大促期間將流量劃撥到公有云,在多活能力的基礎(chǔ)上,實(shí)現(xiàn)私有云與公有云混部,降低私有云長期持有成本。
灰度發(fā)布:實(shí)現(xiàn)按機(jī)房級(jí)別流量逐步灰度發(fā)布,降低業(yè)務(wù)版本故障影響面,提升版本發(fā)布質(zhì)量。
3、原則
同一用戶的交易盡量在一個(gè)數(shù)據(jù)中心內(nèi)部完成。蘇寧對(duì)于交易業(yè)務(wù)按照用戶緯度對(duì)數(shù)據(jù)分片,特定的用戶路由到特定的數(shù)據(jù)中心,保證一個(gè)用戶的交易在一個(gè)數(shù)據(jù)中心完成。
業(yè)務(wù)無需感知多數(shù)據(jù)中心。核心業(yè)務(wù)在多個(gè)數(shù)據(jù)中心部署,提供服務(wù),業(yè)務(wù)無需感知自己在哪個(gè)機(jī)房,即便數(shù)據(jù)中心發(fā)生切換,業(yè)務(wù)也無需感知。
盡量節(jié)省資源。由于多機(jī)房部署導(dǎo)致成本上升,需要通過調(diào)整高可用部署方案降低多機(jī)房部署成本。
基于頂層設(shè)計(jì)的要求,開始多活總體方案的架構(gòu)設(shè)計(jì)。
3架構(gòu)設(shè)計(jì)
1、相關(guān)概念
分片服務(wù):對(duì)應(yīng)的數(shù)據(jù)僅在某個(gè) Cell 存在,其它 Cell 不與交叉或共享,比如會(huì)員服務(wù)、訂單服務(wù)等。
共享服務(wù):所有 Cell 擁有相同的數(shù)據(jù),相互共享,比如價(jià)格服務(wù)、商品服務(wù)等。
索引服務(wù):用于索引數(shù)據(jù)提供服務(wù),類似共享服務(wù)。
競爭 (控制) 服務(wù):各個(gè) Cell 相互操作同一個(gè)數(shù)據(jù),為了保證數(shù)據(jù)一致性,需要在同一個(gè)數(shù)據(jù)中心進(jìn)行控制,比如庫存的扣減、用戶注冊(cè)等。
競爭 Proxy 服務(wù):用于競爭服務(wù)前置服務(wù),比如庫存前置調(diào)撥服務(wù)。
2、服務(wù)架構(gòu)
按照用戶分布到不同的數(shù)據(jù)中心,多個(gè)數(shù)據(jù)中心都提供服務(wù),在一個(gè)數(shù)據(jù)中心出現(xiàn)問題時(shí),可以隨時(shí)將流量切到另外一個(gè)正常的數(shù)據(jù)中心。
服務(wù)規(guī)劃:根據(jù)業(yè)務(wù)不同功能,將服務(wù)拆分為分片服務(wù),共享服務(wù),競爭服務(wù),索引服務(wù),控制服務(wù)以及管理服務(wù)。各服務(wù)類型單獨(dú)設(shè)置路由規(guī)則,同時(shí)支持灰度路由。
統(tǒng)一服務(wù)路由:從接入層到服務(wù)層以及最終的數(shù)據(jù)層,都遵守統(tǒng)一的路由策略,保證同一用戶的交易在一個(gè)數(shù)據(jù)中心完成。
數(shù)據(jù)高可用:多數(shù)據(jù)中心保證數(shù)據(jù)庫高可用,采用全冗余方式,數(shù)據(jù)在任何一個(gè)數(shù)據(jù)中心都是可用的,從而保證高可用,任一數(shù)據(jù)中心故障,不影響數(shù)據(jù)的可用性。
3、服務(wù)路由
流量的分布是由服務(wù)路由來決定的,而路由的功能由各組件承載并實(shí)現(xiàn),主要分成以下幾部分:
DNS:根據(jù)用戶所在位置就近路由到對(duì)應(yīng)的 CDN。
CDN:根據(jù)用戶請(qǐng)求信息按照一定的規(guī)則路由到對(duì)應(yīng)的數(shù)據(jù)中心。
SLB:根據(jù)用戶請(qǐng)求信息路由到同機(jī)房或其它機(jī)房。
RPC/MQ:根據(jù)用戶請(qǐng)求信息按照一定的路由規(guī)則分發(fā)到不同的數(shù)據(jù)中心。
DAL:數(shù)據(jù)接入層對(duì)用戶所處的分片進(jìn)行校驗(yàn),確保不出現(xiàn)數(shù)據(jù)異?;驍?shù)據(jù)沖突。
4、服務(wù)收斂
基于服務(wù)路由的功能,為了實(shí)現(xiàn)同一用戶的交易在同一數(shù)據(jù)中心進(jìn)行,減少跨數(shù)據(jù)中心網(wǎng)絡(luò)延遲,需要對(duì)用戶流量進(jìn)行精準(zhǔn)分發(fā)。流量在進(jìn)入數(shù)據(jù)中心前,按照一定的路由規(guī)則,確定好待分發(fā)的目標(biāo)中心,以減少數(shù)據(jù)中心之間的二次轉(zhuǎn)發(fā)。比如,蘇寧在 CDN 層進(jìn)行用戶的初次路由,將用戶分發(fā)到不同的數(shù)據(jù)中心。
數(shù)據(jù)中心內(nèi)部,對(duì)服務(wù)層設(shè)置多種路由策略,比如設(shè)置接入層、RPC、DAL 等的路由方式以及業(yè)務(wù)服務(wù)拆分,使得同一個(gè)用戶所有請(qǐng)求盡量收斂在同一個(gè)數(shù)據(jù)中心,實(shí)現(xiàn)流量精準(zhǔn)劃撥,避免跨機(jī)房調(diào)用。
請(qǐng)求的收斂設(shè)計(jì)確保流量按照 Cell 級(jí)別劃撥到不同的數(shù)據(jù)中心,并在同一中心封閉收斂,這也是實(shí)現(xiàn)多數(shù)據(jù)中心部署的基礎(chǔ)。
5、數(shù)據(jù)高可用
為了確保數(shù)據(jù)高可用以及任何一個(gè)機(jī)房故障都可被接管,所有數(shù)據(jù)中心都包含全量數(shù)據(jù),當(dāng)主數(shù)據(jù)中心的變更將會(huì)實(shí)時(shí)同步到各個(gè)從數(shù)據(jù)中心。
數(shù)據(jù)中心之間延遲相對(duì)數(shù)據(jù)中心內(nèi)部延遲較大,數(shù)據(jù)中心之間的同步一般采用異步復(fù)制方式。在機(jī)房故障等極端情況,將出現(xiàn)少量數(shù)據(jù)未同步到其它數(shù)據(jù)中心,針對(duì)此類故障場景,在機(jī)房恢復(fù)后,需要對(duì)未同步的數(shù)據(jù)進(jìn)行人工修復(fù)。
4技術(shù)難點(diǎn)
按照多活的架構(gòu)設(shè)計(jì),并結(jié)合蘇寧的業(yè)務(wù)特點(diǎn)和 IT 技術(shù)現(xiàn)狀,需要優(yōu)先解決相關(guān)的技術(shù)難點(diǎn)。
1、高可用實(shí)現(xiàn)
高可用實(shí)現(xiàn)原則
數(shù)據(jù)中心高可用分成兩部分:
(1)單數(shù)據(jù)中心內(nèi)高可用
集群內(nèi)部高可用
無狀態(tài)服務(wù) (比如應(yīng)用服務(wù)器):采用 N+1 方式部署,任何一臺(tái)故障,流量都可被其它機(jī)器所接管。
有狀態(tài)服務(wù) (比如數(shù)據(jù)庫):采用 2N(一主一從)或 3N(一主兩從)方式部署,任何一臺(tái)故障,在秒級(jí)切換到另外一臺(tái)機(jī)器。
(2)多數(shù)據(jù)中心間高可用
單系統(tǒng)同城高可用:任何一個(gè)系統(tǒng)有計(jì)劃維修或非計(jì)劃性故障,都可切換到另外一個(gè)數(shù)據(jù)中心
全鏈路同城高可用:當(dāng)機(jī)房級(jí)別故障或維修時(shí),可切換到另外一個(gè)機(jī)房接管。
全鏈路異地高可用:當(dāng)出現(xiàn)地震等特殊場景,異地機(jī)房可進(jìn)行接管,避免同城兩個(gè)數(shù)據(jù)中心同時(shí)故障等異常場景。
其中機(jī)房級(jí)別故障切換時(shí)間一般在分鐘級(jí)別。
高可用實(shí)現(xiàn)指標(biāo)
RPO(Recovery Point Object):表示機(jī)房級(jí)別故障時(shí),未被同步的數(shù)據(jù)時(shí)長??紤]到 MySQL 在特殊情況下復(fù)制延遲較大情況下,RPO 設(shè)置為分鐘級(jí)別,正常情況下 RPO 為秒級(jí)
RTO(Recovery Target Object):表示機(jī)房故障情況下,關(guān)鍵流程或系統(tǒng)切換恢復(fù)時(shí)間,一般為分鐘級(jí)別
WRT(Work Recovery Time):表示故障時(shí),由于 RPO 導(dǎo)致的未同步異常數(shù)據(jù)修復(fù)完成時(shí)長,一般為小時(shí)級(jí)別。
高可用實(shí)踐
服務(wù)切換
(1)數(shù)據(jù)復(fù)制拓?fù)浣Y(jié)構(gòu)
對(duì)于分片數(shù)據(jù)跨機(jī)房復(fù)制方式主要分成兩種:
單向交叉復(fù)制:兩個(gè)機(jī)房同一個(gè)分庫的兩個(gè)不同集群之間采用主備模式進(jìn)行復(fù)制,僅主集群提供寫操作,如上圖所示 Cell4 的 LDC-B 做為主集群復(fù)制到 LDC-A 備集群, Cell8 的 LDC-A 主集群復(fù)制到 LDC-B 的備集群
雙向復(fù)制:兩個(gè)機(jī)房同一個(gè)分庫的兩個(gè)不同集群之間采用主 – 主模式進(jìn)行復(fù)制,兩個(gè)機(jī)房的集群同時(shí)提供寫操作服務(wù)
復(fù)制拓?fù)浣Y(jié)構(gòu)比較
為了確保數(shù)據(jù)的一致性和避免出錯(cuò)概率以及數(shù)據(jù)存儲(chǔ)分布不規(guī)整,蘇寧初期采用單向交叉復(fù)制拓?fù)浣Y(jié)構(gòu)。
(2)數(shù)據(jù)遷移與規(guī)整
為了實(shí)現(xiàn)按用戶分 Cell 分布到不同數(shù)據(jù)中心,并且蘇寧業(yè)務(wù)形態(tài)的多樣性以及一些歷史遺留問題,比如單表記錄過多(超過 1 億),不利于多數(shù)據(jù)中心的擴(kuò)展,為此需要對(duì)數(shù)據(jù)按照一定的規(guī)則重新遷移和規(guī)整。
對(duì)原有數(shù)據(jù)做快照,然后對(duì)快照數(shù)據(jù)重新規(guī)整到新的分庫分表。
對(duì)原有集群增量數(shù)據(jù)準(zhǔn)實(shí)時(shí)抽取 Binlog 數(shù)據(jù)規(guī)整到新的集群。
通過 DAL 灰度劃撥流量寫入到新的集群,直至所有數(shù)據(jù)切換到新集群。
(3)服務(wù)切換
對(duì)于分片數(shù)據(jù)服務(wù),分片服務(wù)按照一定規(guī)則對(duì) Cell 分組進(jìn)行切換,確保應(yīng)用層的服務(wù)和數(shù)據(jù)可以同時(shí)切換,避免數(shù)據(jù)寫入異常。
跨數(shù)據(jù)鏈路切換
為了實(shí)現(xiàn)部分流量全鏈路劃撥到不同的數(shù)據(jù)中心,以及在數(shù)據(jù)中心故障時(shí)能夠快速接管業(yè)務(wù),所有多數(shù)據(jù)中心流程分發(fā)和服務(wù)調(diào)度全部由基礎(chǔ)中間件平臺(tái)完成,無需業(yè)務(wù)感知數(shù)據(jù)中心故障或流量劃撥,這樣整體切換時(shí)間會(huì)大大縮短,快速恢復(fù)業(yè)務(wù)。從而實(shí)現(xiàn)數(shù)據(jù)中心之間同城高可用以及異地高可用。
具體步驟如下:
接管機(jī)房對(duì)應(yīng)的從庫提升為主庫。
服務(wù)寫操作切換到新的接管機(jī)房。
服務(wù)(SLB/RPC/MQ)切換到新的接管機(jī)房。
CDN 流量重定向到新的接管機(jī)房。
2、灰度部署與上線
為了確保多機(jī)房部署時(shí),拓?fù)浣Y(jié)構(gòu)和配置的變化,不影響到整個(gè)業(yè)務(wù)系統(tǒng)運(yùn)行,采用灰度部署方案,分以下幾個(gè)階段:
基礎(chǔ)組件部署:比如 RPC、MQ、WAF、數(shù)據(jù)庫等的部署
業(yè)務(wù)系統(tǒng)部署:比如訂單系統(tǒng)、會(huì)員系統(tǒng)、促銷系統(tǒng)、商品系統(tǒng)等的部署
組件和系統(tǒng)部署完成了,為了確保業(yè)務(wù)穩(wěn)定上線,生產(chǎn)的流量逐步劃撥,前一個(gè)步驟的完成為下一個(gè)步驟的準(zhǔn)入條件。
具體如下:
用白名單(內(nèi)部用戶)進(jìn)行測(cè)試,驗(yàn)證部署和配置的正確性。
進(jìn)行單系統(tǒng)流量劃撥,確保每個(gè)系統(tǒng)切換的正確性。
全鏈路流量劃撥,確保端到端切換的正確性。
3、全鏈路監(jiān)控
蘇寧的業(yè)務(wù)種類繁多,為確保核心交易業(yè)務(wù)的可靠性和擴(kuò)展性,現(xiàn)階段優(yōu)先對(duì)這些業(yè)務(wù)進(jìn)行多活改造和多數(shù)據(jù)中心部署。
一次交易請(qǐng)求,落在哪個(gè)數(shù)據(jù)中心處理,請(qǐng)求失敗是由哪個(gè)業(yè)務(wù)節(jié)點(diǎn)導(dǎo)致等等,這就需要一套完善的監(jiān)控平臺(tái),對(duì)全鏈路,多數(shù)據(jù)中心的各個(gè)環(huán)節(jié)進(jìn)行全方位,高精度的監(jiān)控。
監(jiān)控平臺(tái)主要分成以下幾個(gè)部分:
日志:分別在每個(gè)機(jī)房部署日志組件,避免跨機(jī)房傳輸日志帶寬消耗,查詢通過聯(lián)邦模式匯總查詢。
指標(biāo) (metrics): 每個(gè)機(jī)房匯總到指標(biāo)數(shù)據(jù)到主機(jī)房,以便指標(biāo)在主機(jī)房匯總查詢。
調(diào)用鏈:分別在每個(gè)機(jī)房部署調(diào)用鏈,調(diào)用鏈也是通過聯(lián)邦模式查詢。
4、故障演練
為了模擬機(jī)房故障,通過混沌工程逐步提高爆炸半徑,模擬業(yè)務(wù)故障,減少對(duì)業(yè)務(wù)的影響,主要故障模擬如下:
單系統(tǒng)故障模擬:比如訂單系統(tǒng)或會(huì)員系統(tǒng)單個(gè)系統(tǒng)故障
全鏈路故障模擬:比如交易鏈路或支付鏈路多個(gè)系統(tǒng)同時(shí)故障
網(wǎng)絡(luò)故障模擬:比如交換機(jī)或路由器等故障
整個(gè)機(jī)房級(jí)別故障模擬:比如電源(市電、UPS 等)故障導(dǎo)致整個(gè)機(jī)房故障
通過混沌工程模擬可以相對(duì)真實(shí)驗(yàn)證整個(gè)多活系統(tǒng)的容災(zāi)能力,整個(gè)模擬對(duì)業(yè)務(wù)的影響都相對(duì)可控,大大降低對(duì)業(yè)務(wù)的影響。
5多活拓展
在多活方案設(shè)計(jì)過程中,需要綜合考慮蘇寧 IT 基礎(chǔ)設(shè)施規(guī)劃,其中異地部署和混合云部署是多活能力的拓展和延伸。
1、異地部署
由于同城機(jī)房資源受限,并且同城部署無法解決地震等極端故障,因此需要引入異地部署。異地多數(shù)據(jù)中心相比同城多數(shù)據(jù)中心,最大的問題就是網(wǎng)絡(luò)延遲明顯增大,數(shù)據(jù)中心的寬帶相對(duì)受限,需要在架構(gòu)和整體的解決方案上進(jìn)行考慮,通過技術(shù)手段實(shí)現(xiàn)異地多數(shù)據(jù)中心的高可用性,降低延遲。同時(shí)需要通過組件對(duì)傳輸數(shù)據(jù)進(jìn)行壓縮和傳輸限流,確保傳輸?shù)臄?shù)據(jù)在有限的寬帶可控范圍內(nèi)。
蘇寧多活架構(gòu)從一開始就是按照異地部署架構(gòu)來設(shè)計(jì),大大降低同城和異地部署異構(gòu)性和運(yùn)維復(fù)雜性。
2、混合云部署
蘇寧業(yè)務(wù)系統(tǒng)大促流量是平時(shí)業(yè)務(wù)流量的十倍甚至上百倍,日常資源都是按照大促的峰值進(jìn)行準(zhǔn)備,資源持有和運(yùn)維成本較高,資源采購,上線周期較長。因此大促期間,通過將部分流量彈到公有云,利用公有云的彈性能力,為私有云進(jìn)行削峰,大大降低蘇寧私有云長期持有成本,以及運(yùn)維成本。
混合云相比原有多活需要做如下的能力拓展:
安全管控:公有云與私有云屬于不同的信任域,對(duì)于公有云與私有云相互訪問進(jìn)行管控,確?;旌显凭W(wǎng)絡(luò)之間安全;以及公有云數(shù)據(jù)存儲(chǔ)安全管控。
快速部署:由于公有云是根據(jù)按量或按月 / 按年計(jì)費(fèi),快速部署能力可以降低公有云資源成本使用時(shí)長。
非對(duì)稱部署:由于公有云與私有云處理能力不一樣,可以通過非對(duì)稱部署降低公有云和私有云成本。
6總結(jié)
多數(shù)據(jù)中心多活項(xiàng)目作為蘇寧重大項(xiàng)目,經(jīng)過 3 年左右的建設(shè),已于 2019 年上線,歷經(jīng) 818 和雙 11 等大促考驗(yàn),實(shí)現(xiàn)關(guān)鍵鏈路從單機(jī)房平滑過渡到多機(jī)房的突破,支撐了業(yè)務(wù)的快速發(fā)展;并在機(jī)房出現(xiàn)真實(shí)故障時(shí),快速實(shí)現(xiàn)業(yè)務(wù)恢復(fù),將故障影響降低到可控范圍內(nèi)。
混合云項(xiàng)目經(jīng)歷一年左右的建設(shè),也已初具規(guī)模,將為蘇寧后續(xù)的業(yè)務(wù)高速發(fā)展保駕護(hù)航,降低公司大促擴(kuò)容成本。