久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      隨著蘇寧線下線上業(yè)務(wù)以及全產(chǎn)業(yè)、全業(yè)態(tài)規(guī)模式快速增長,特別是每年蘇寧 818 大促、雙 11 等大促節(jié)點,銷售訂單基本都呈現(xiàn)倍數(shù)級增長態(tài)勢,需要進行大量資源擴容,單個的容量有限,已經(jīng)無法支撐蘇寧業(yè)務(wù)的快速發(fā)展。同時,單數(shù)據(jù)中心在高可用上存在不足,一旦數(shù)據(jù)中心發(fā)生故障,會導(dǎo)致業(yè)務(wù)受損,用戶訪問中斷,帶來嚴(yán)重的影響。針對以上問題,蘇寧規(guī)劃建設(shè)多數(shù)據(jù)中心解決方案迫在眉睫。

      1方案選擇

      參考業(yè)界多數(shù)據(jù)中心實踐,目前主流的多數(shù)據(jù)中心的解決方案有如下幾個:

      主備模式

      同城雙活

      多活模式

      介紹這幾個方案前,我們先來看下相關(guān)概念:

      Cell:業(yè)務(wù)可封閉收斂最小執(zhí)行分片;業(yè)務(wù)對請求空間按一定維度(比如會員、門店等)劃分分片。

      LDC:邏輯數(shù)據(jù)中心,是由多個業(yè)務(wù)可封閉 cell 組成的集合單元,擁有獨立的基礎(chǔ)中間件系統(tǒng)(包括 RPC, MQ, DNS 等),以及出口網(wǎng)絡(luò)等。

      PDC:物理數(shù)據(jù)中心,指物理上獨立的一棟建筑,一般每棟有好幾層, 存放一系列機柜和上千和上萬服務(wù)器, 構(gòu)成一個 PDC。

      AZ(Available Zone):可用區(qū),具有獨立的故障隔離空間,擁有獨立網(wǎng)絡(luò)設(shè)施或電力設(shè)備,由相鄰的單個或多個 PDC 組成。

      Region:地理區(qū)域,有多可用區(qū)所組成的集合,區(qū)域之間故障域完全隔離。

      1、主備模式

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      主機房提供服務(wù),備用機房不提供服務(wù),當(dāng)主機房故障,服務(wù)可切換到備用機房接管。

      2、同城雙活

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      同一個集群橫跨同城兩個不同的 AZ,兩個 AZ 同時對外提供服務(wù),同時允許跨機房訪問不同服務(wù)以及數(shù)據(jù)庫。

      3、多活模式

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      多個機房同時提供服務(wù),業(yè)務(wù)請求盡量收斂在同一個機房,當(dāng)某個機房故障時,可以切換其它接管機房。

      4、方案比較

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      鑒于蘇寧線上 / 線下交易業(yè)務(wù)和支付業(yè)務(wù)特性,以及異地數(shù)據(jù)中心的要求,通過技術(shù)評估和決策,最終選擇多活模式。

      由于選擇了難度最大的一種方案模式,多活方案將涵蓋蘇寧所有核心業(yè)務(wù)以及基礎(chǔ)組件,需要考慮和關(guān)注的問題非常多,一旦設(shè)計發(fā)生偏差,調(diào)整的代價將非常大。為了確保方案的合理性,可實施性,首先我們討論并制定了頂層設(shè)計,包括目標(biāo)、價值和設(shè)計原則,并在設(shè)計過程中不斷的復(fù)盤,以保證設(shè)計不偏離主航道。

      2頂層設(shè)計

      頂層設(shè)計是多活相關(guān)的干系中心經(jīng)過充分討論,并最終達成一致的最高方針??傮w方案以及各個業(yè)務(wù)系統(tǒng)方案都必須有嚴(yán)格遵守的規(guī)范和要求,包括目標(biāo)、價值和原則。

      1、目標(biāo)

      機房水平擴展:單機房容量有限,業(yè)務(wù)高增長帶來大量的資源需求,多活需要具備機房水平擴展能力,為資源擴容提供保障。

      機房之間同城和異地高可用:單機房存在單點故障風(fēng)險,多活需要具備機房級別的高可用能力,在一個機房出現(xiàn)故障時,能夠?qū)⒘髁靠焖偾械狡渌5臋C房,對業(yè)務(wù)的影響降低到最小。

      2、價值

      支持業(yè)務(wù)的快速發(fā)展:蘇寧每年的業(yè)務(wù)規(guī)模成倍數(shù)級增長,所依賴的 IT 資源也快速增長,通過機房的水平擴展,解決單機房容量不足問題,以支持業(yè)務(wù)的發(fā)展。

      同城與異地容災(zāi):當(dāng)機房出現(xiàn)電源或網(wǎng)絡(luò)以及地震等機房級別故障,通過機房級別的流量切換實現(xiàn)同城與異地容災(zāi),將對業(yè)務(wù)的影響降低到可控水平。

      混合云降低持有成本:由于電商業(yè)務(wù)的特殊性,大促流量與平時流量相差上百倍,大促期間將流量劃撥到公有云,在多活能力的基礎(chǔ)上,實現(xiàn)私有云與公有云混部,降低私有云長期持有成本。

      灰度發(fā)布:實現(xiàn)按機房級別流量逐步灰度發(fā)布,降低業(yè)務(wù)版本故障影響面,提升版本發(fā)布質(zhì)量。

      3、原則

      同一用戶的交易盡量在一個數(shù)據(jù)中心內(nèi)部完成。蘇寧對于交易業(yè)務(wù)按照用戶緯度對數(shù)據(jù)分片,特定的用戶路由到特定的數(shù)據(jù)中心,保證一個用戶的交易在一個數(shù)據(jù)中心完成。

      業(yè)務(wù)無需感知多數(shù)據(jù)中心。核心業(yè)務(wù)在多個數(shù)據(jù)中心部署,提供服務(wù),業(yè)務(wù)無需感知自己在哪個機房,即便數(shù)據(jù)中心發(fā)生切換,業(yè)務(wù)也無需感知。

      盡量節(jié)省資源。由于多機房部署導(dǎo)致成本上升,需要通過調(diào)整高可用部署方案降低多機房部署成本。

      基于頂層設(shè)計的要求,開始多活總體方案的架構(gòu)設(shè)計。

      3架構(gòu)設(shè)計

      1、相關(guān)概念

      分片服務(wù):對應(yīng)的數(shù)據(jù)僅在某個 Cell 存在,其它 Cell 不與交叉或共享,比如會員服務(wù)、訂單服務(wù)等。

      共享服務(wù):所有 Cell 擁有相同的數(shù)據(jù),相互共享,比如價格服務(wù)、商品服務(wù)等。

      索引服務(wù):用于索引數(shù)據(jù)提供服務(wù),類似共享服務(wù)。

      競爭 (控制) 服務(wù):各個 Cell 相互操作同一個數(shù)據(jù),為了保證數(shù)據(jù)一致性,需要在同一個數(shù)據(jù)中心進行控制,比如庫存的扣減、用戶注冊等。

      競爭 Proxy 服務(wù):用于競爭服務(wù)前置服務(wù),比如庫存前置調(diào)撥服務(wù)。

      2、服務(wù)架構(gòu)

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      按照用戶分布到不同的數(shù)據(jù)中心,多個數(shù)據(jù)中心都提供服務(wù),在一個數(shù)據(jù)中心出現(xiàn)問題時,可以隨時將流量切到另外一個正常的數(shù)據(jù)中心。

      服務(wù)規(guī)劃:根據(jù)業(yè)務(wù)不同功能,將服務(wù)拆分為分片服務(wù),共享服務(wù),競爭服務(wù),索引服務(wù),控制服務(wù)以及管理服務(wù)。各服務(wù)類型單獨設(shè)置路由規(guī)則,同時支持灰度路由。

      統(tǒng)一服務(wù)路由:從接入層到服務(wù)層以及最終的數(shù)據(jù)層,都遵守統(tǒng)一的路由策略,保證同一用戶的交易在一個數(shù)據(jù)中心完成。

      數(shù)據(jù)高可用:多數(shù)據(jù)中心保證數(shù)據(jù)庫高可用,采用全冗余方式,數(shù)據(jù)在任何一個數(shù)據(jù)中心都是可用的,從而保證高可用,任一數(shù)據(jù)中心故障,不影響數(shù)據(jù)的可用性。

      3、服務(wù)路由

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      流量的分布是由服務(wù)路由來決定的,而路由的功能由各組件承載并實現(xiàn),主要分成以下幾部分:

      DNS:根據(jù)用戶所在位置就近路由到對應(yīng)的 CDN。

      CDN:根據(jù)用戶請求信息按照一定的規(guī)則路由到對應(yīng)的數(shù)據(jù)中心。

      SLB:根據(jù)用戶請求信息路由到同機房或其它機房。

      RPC/MQ:根據(jù)用戶請求信息按照一定的路由規(guī)則分發(fā)到不同的數(shù)據(jù)中心。

      DAL:數(shù)據(jù)接入層對用戶所處的分片進行校驗,確保不出現(xiàn)數(shù)據(jù)異?;驍?shù)據(jù)沖突。

      4、服務(wù)收斂

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      基于服務(wù)路由的功能,為了實現(xiàn)同一用戶的交易在同一數(shù)據(jù)中心進行,減少跨數(shù)據(jù)中心網(wǎng)絡(luò)延遲,需要對用戶流量進行精準(zhǔn)分發(fā)。流量在進入數(shù)據(jù)中心前,按照一定的路由規(guī)則,確定好待分發(fā)的目標(biāo)中心,以減少數(shù)據(jù)中心之間的二次轉(zhuǎn)發(fā)。比如,蘇寧在 CDN 層進行用戶的初次路由,將用戶分發(fā)到不同的數(shù)據(jù)中心。

      數(shù)據(jù)中心內(nèi)部,對服務(wù)層設(shè)置多種路由策略,比如設(shè)置接入層、RPC、DAL 等的路由方式以及業(yè)務(wù)服務(wù)拆分,使得同一個用戶所有請求盡量收斂在同一個數(shù)據(jù)中心,實現(xiàn)流量精準(zhǔn)劃撥,避免跨機房調(diào)用。

      請求的收斂設(shè)計確保流量按照 Cell 級別劃撥到不同的數(shù)據(jù)中心,并在同一中心封閉收斂,這也是實現(xiàn)多數(shù)據(jù)中心部署的基礎(chǔ)。

      5、數(shù)據(jù)高可用

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      為了確保數(shù)據(jù)高可用以及任何一個機房故障都可被接管,所有數(shù)據(jù)中心都包含全量數(shù)據(jù),當(dāng)主數(shù)據(jù)中心的變更將會實時同步到各個從數(shù)據(jù)中心。

      數(shù)據(jù)中心之間延遲相對數(shù)據(jù)中心內(nèi)部延遲較大,數(shù)據(jù)中心之間的同步一般采用異步復(fù)制方式。在機房故障等極端情況,將出現(xiàn)少量數(shù)據(jù)未同步到其它數(shù)據(jù)中心,針對此類故障場景,在機房恢復(fù)后,需要對未同步的數(shù)據(jù)進行人工修復(fù)。

      4技術(shù)難點

      按照多活的架構(gòu)設(shè)計,并結(jié)合蘇寧的業(yè)務(wù)特點和 IT 技術(shù)現(xiàn)狀,需要優(yōu)先解決相關(guān)的技術(shù)難點。

      1、高可用實現(xiàn)

      高可用實現(xiàn)原則

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      數(shù)據(jù)中心高可用分成兩部分:

      (1)單數(shù)據(jù)中心內(nèi)高可用

      集群內(nèi)部高可用

      無狀態(tài)服務(wù) (比如應(yīng)用服務(wù)器):采用 N+1 方式部署,任何一臺故障,流量都可被其它機器所接管。

      有狀態(tài)服務(wù) (比如數(shù)據(jù)庫):采用 2N(一主一從)或 3N(一主兩從)方式部署,任何一臺故障,在秒級切換到另外一臺機器。

      (2)多數(shù)據(jù)中心間高可用

      單系統(tǒng)同城高可用:任何一個系統(tǒng)有計劃維修或非計劃性故障,都可切換到另外一個數(shù)據(jù)中心

      全鏈路同城高可用:當(dāng)機房級別故障或維修時,可切換到另外一個機房接管。

      全鏈路異地高可用:當(dāng)出現(xiàn)地震等特殊場景,異地機房可進行接管,避免同城兩個數(shù)據(jù)中心同時故障等異常場景。

      其中機房級別故障切換時間一般在分鐘級別。

      高可用實現(xiàn)指標(biāo)

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      RPO(Recovery Point Object):表示機房級別故障時,未被同步的數(shù)據(jù)時長??紤]到 MySQL 在特殊情況下復(fù)制延遲較大情況下,RPO 設(shè)置為分鐘級別,正常情況下 RPO 為秒級

      RTO(Recovery Target Object):表示機房故障情況下,關(guān)鍵流程或系統(tǒng)切換恢復(fù)時間,一般為分鐘級別

      WRT(Work Recovery Time):表示故障時,由于 RPO 導(dǎo)致的未同步異常數(shù)據(jù)修復(fù)完成時長,一般為小時級別。

      高可用實踐

      服務(wù)切換

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      (1)數(shù)據(jù)復(fù)制拓撲結(jié)構(gòu)

      對于分片數(shù)據(jù)跨機房復(fù)制方式主要分成兩種:

      單向交叉復(fù)制:兩個機房同一個分庫的兩個不同集群之間采用主備模式進行復(fù)制,僅主集群提供寫操作,如上圖所示 Cell4 的 LDC-B 做為主集群復(fù)制到 LDC-A 備集群, Cell8 的 LDC-A 主集群復(fù)制到 LDC-B 的備集群

      雙向復(fù)制:兩個機房同一個分庫的兩個不同集群之間采用主 – 主模式進行復(fù)制,兩個機房的集群同時提供寫操作服務(wù)

      復(fù)制拓撲結(jié)構(gòu)比較

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      為了確保數(shù)據(jù)的一致性和避免出錯概率以及數(shù)據(jù)存儲分布不規(guī)整,蘇寧初期采用單向交叉復(fù)制拓撲結(jié)構(gòu)。

      (2)數(shù)據(jù)遷移與規(guī)整

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      為了實現(xiàn)按用戶分 Cell 分布到不同數(shù)據(jù)中心,并且蘇寧業(yè)務(wù)形態(tài)的多樣性以及一些歷史遺留問題,比如單表記錄過多(超過 1 億),不利于多數(shù)據(jù)中心的擴展,為此需要對數(shù)據(jù)按照一定的規(guī)則重新遷移和規(guī)整。

      對原有數(shù)據(jù)做快照,然后對快照數(shù)據(jù)重新規(guī)整到新的分庫分表。

      對原有集群增量數(shù)據(jù)準(zhǔn)實時抽取 Binlog 數(shù)據(jù)規(guī)整到新的集群。

      通過 DAL 灰度劃撥流量寫入到新的集群,直至所有數(shù)據(jù)切換到新集群。

      (3)服務(wù)切換

      對于分片數(shù)據(jù)服務(wù),分片服務(wù)按照一定規(guī)則對 Cell 分組進行切換,確保應(yīng)用層的服務(wù)和數(shù)據(jù)可以同時切換,避免數(shù)據(jù)寫入異常。

      跨數(shù)據(jù)鏈路切換

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      為了實現(xiàn)部分流量全鏈路劃撥到不同的數(shù)據(jù)中心,以及在數(shù)據(jù)中心故障時能夠快速接管業(yè)務(wù),所有多數(shù)據(jù)中心流程分發(fā)和服務(wù)調(diào)度全部由基礎(chǔ)中間件平臺完成,無需業(yè)務(wù)感知數(shù)據(jù)中心故障或流量劃撥,這樣整體切換時間會大大縮短,快速恢復(fù)業(yè)務(wù)。從而實現(xiàn)數(shù)據(jù)中心之間同城高可用以及異地高可用。

      具體步驟如下:

      接管機房對應(yīng)的從庫提升為主庫。

      服務(wù)寫操作切換到新的接管機房。

      服務(wù)(SLB/RPC/MQ)切換到新的接管機房。

      CDN 流量重定向到新的接管機房。

      2、灰度部署與上線

      為了確保多機房部署時,拓撲結(jié)構(gòu)和配置的變化,不影響到整個業(yè)務(wù)系統(tǒng)運行,采用灰度部署方案,分以下幾個階段:

      基礎(chǔ)組件部署:比如 RPC、MQ、WAF、數(shù)據(jù)庫等的部署

      業(yè)務(wù)系統(tǒng)部署:比如訂單系統(tǒng)、會員系統(tǒng)、促銷系統(tǒng)、商品系統(tǒng)等的部署

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      組件和系統(tǒng)部署完成了,為了確保業(yè)務(wù)穩(wěn)定上線,生產(chǎn)的流量逐步劃撥,前一個步驟的完成為下一個步驟的準(zhǔn)入條件。

      具體如下:

      用白名單(內(nèi)部用戶)進行測試,驗證部署和配置的正確性。

      進行單系統(tǒng)流量劃撥,確保每個系統(tǒng)切換的正確性。

      全鏈路流量劃撥,確保端到端切換的正確性。

      3、全鏈路監(jiān)控

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      蘇寧的業(yè)務(wù)種類繁多,為確保核心交易業(yè)務(wù)的可靠性和擴展性,現(xiàn)階段優(yōu)先對這些業(yè)務(wù)進行多活改造和多數(shù)據(jù)中心部署。

      一次交易請求,落在哪個數(shù)據(jù)中心處理,請求失敗是由哪個業(yè)務(wù)節(jié)點導(dǎo)致等等,這就需要一套完善的監(jiān)控平臺,對全鏈路,多數(shù)據(jù)中心的各個環(huán)節(jié)進行全方位,高精度的監(jiān)控。

      監(jiān)控平臺主要分成以下幾個部分:

      日志:分別在每個機房部署日志組件,避免跨機房傳輸日志帶寬消耗,查詢通過聯(lián)邦模式匯總查詢。

      指標(biāo) (metrics): 每個機房匯總到指標(biāo)數(shù)據(jù)到主機房,以便指標(biāo)在主機房匯總查詢。

      調(diào)用鏈:分別在每個機房部署調(diào)用鏈,調(diào)用鏈也是通過聯(lián)邦模式查詢。

      4、故障演練

      迎戰(zhàn)雙11,蘇寧的多數(shù)據(jù)中心多活如何建成?

      為了模擬機房故障,通過混沌工程逐步提高爆炸半徑,模擬業(yè)務(wù)故障,減少對業(yè)務(wù)的影響,主要故障模擬如下:

      單系統(tǒng)故障模擬:比如訂單系統(tǒng)或會員系統(tǒng)單個系統(tǒng)故障

      全鏈路故障模擬:比如交易鏈路或支付鏈路多個系統(tǒng)同時故障

      網(wǎng)絡(luò)故障模擬:比如交換機或路由器等故障

      整個機房級別故障模擬:比如電源(市電、UPS 等)故障導(dǎo)致整個機房故障

      通過混沌工程模擬可以相對真實驗證整個多活系統(tǒng)的容災(zāi)能力,整個模擬對業(yè)務(wù)的影響都相對可控,大大降低對業(yè)務(wù)的影響。

      5多活拓展

      在多活方案設(shè)計過程中,需要綜合考慮蘇寧 IT 基礎(chǔ)設(shè)施規(guī)劃,其中異地部署和混合云部署是多活能力的拓展和延伸。

      1、異地部署

      由于同城機房資源受限,并且同城部署無法解決地震等極端故障,因此需要引入異地部署。異地多數(shù)據(jù)中心相比同城多數(shù)據(jù)中心,最大的問題就是網(wǎng)絡(luò)延遲明顯增大,數(shù)據(jù)中心的寬帶相對受限,需要在架構(gòu)和整體的解決方案上進行考慮,通過技術(shù)手段實現(xiàn)異地多數(shù)據(jù)中心的高可用性,降低延遲。同時需要通過組件對傳輸數(shù)據(jù)進行壓縮和傳輸限流,確保傳輸?shù)臄?shù)據(jù)在有限的寬帶可控范圍內(nèi)。

      蘇寧多活架構(gòu)從一開始就是按照異地部署架構(gòu)來設(shè)計,大大降低同城和異地部署異構(gòu)性和運維復(fù)雜性。

      2、混合云部署

      蘇寧業(yè)務(wù)系統(tǒng)大促流量是平時業(yè)務(wù)流量的十倍甚至上百倍,日常資源都是按照大促的峰值進行準(zhǔn)備,資源持有和運維成本較高,資源采購,上線周期較長。因此大促期間,通過將部分流量彈到公有云,利用公有云的彈性能力,為私有云進行削峰,大大降低蘇寧私有云長期持有成本,以及運維成本。

      混合云相比原有多活需要做如下的能力拓展:

      安全管控:公有云與私有云屬于不同的信任域,對于公有云與私有云相互訪問進行管控,確?;旌显凭W(wǎng)絡(luò)之間安全;以及公有云數(shù)據(jù)存儲安全管控。

      快速部署:由于公有云是根據(jù)按量或按月 / 按年計費,快速部署能力可以降低公有云資源成本使用時長。

      非對稱部署:由于公有云與私有云處理能力不一樣,可以通過非對稱部署降低公有云和私有云成本。

      6總結(jié)

      多數(shù)據(jù)中心多活項目作為蘇寧重大項目,經(jīng)過 3 年左右的建設(shè),已于 2019 年上線,歷經(jīng) 818 和雙 11 等大促考驗,實現(xiàn)關(guān)鍵鏈路從單機房平滑過渡到多機房的突破,支撐了業(yè)務(wù)的快速發(fā)展;并在機房出現(xiàn)真實故障時,快速實現(xiàn)業(yè)務(wù)恢復(fù),將故障影響降低到可控范圍內(nèi)。

      混合云項目經(jīng)歷一年左右的建設(shè),也已初具規(guī)模,將為蘇寧后續(xù)的業(yè)務(wù)高速發(fā)展保駕護航,降低公司大促擴容成本。

      延伸閱讀:


      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號