日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

流水單據型業務場景多活實踐

多活容災MSHA(Multi-Site High Availability)是在阿?巴巴電商業務環境演進出的多活容災架構解決?案。本文通過一個電商業務下單鏈路案例,介紹典型的流水單據型業務場景,如何基于多活容災解決方案(AHAS-MSHA)幫助業務實現多活容災架構。

背景信息

本文示例應用包含以下模塊:

  • frontend:入口Web應用。負責和用戶交互。

  • cartservice:購物車應用。記錄用戶的購物車數據,使用自建的Redis。

  • productservice:商品應用。提供商品、庫存服務,使用RDS MySQL。

  • checkoutservice:下單應用。將購物車中的商品生成購買訂單,使用RDS MySQL。

技術棧:

  • SpringBoot。

  • RPC框架:SpringCloud,注冊中心使用自建的Eureka。

Demo體驗地址:

多活容災控制臺:

  1. 登錄AHAS控制臺

  2. 在控制臺左側導航欄選擇多活容災

  3. 在頂部菜單欄,命名空間選擇官方示例命名空間

案例背景:一次故障的發生

例如本示例的電商業務,包括導購、購物車、交易等業務場景。但在電商業務初期,很多互聯網企業都沒有考慮容災問題,只在單地域進行了部署,部署的電商應用架構1.0如下圖所示,只在杭州單元部署了相關業務。

電商應用架構1.0

讀多寫少型業務場景多活實踐中,已經將導購鏈路進行了異地多讀改造,而該業務后續在一次大促期間,遭遇了一次訂單應用大面積故障,導致大促期間下單業務長時間無法使用,于是下單業務的容災建設也提上了議程。下單業務是典型的流水單據型業務場景,相比導購,是更為復雜的讀寫業務,結合業務場景和業務容災訴求,異地多活是適合此業務的容災建設方案。

異地多活容災架構改造

基于MSHA多活容災解決方案,可以快速的幫助業務進行異地多活容災建設。

說明

下單鏈路強依賴購物車應用,完整的多活容災建設,后續還應將購物車應用也改造為異地多活。

多活改造和MSHA接入包括以下方面:

  • 改造范圍:下單應用和訂單數據庫進行兩地域部署。

  • MSHA接入:將下單鏈路的應用安裝上Agent,從而無侵入的實現SpringCloud RPC跨單元路由功能和數據防臟寫功能。

  • 管控配置:進入MSHA控制臺進行各層多活資源的配置(接入層域名、URI、SLB、數據層數據同步等)。

改造后的應用架構如下圖所示。

異地多活容災架構.png

復現故障

改造完成容災架構后,還需驗證容災能力是否符合預期,接下來將歷史故障進行復現,通過制造真實的故障來驗證容災恢復能力。

  1. 演練準備。

    1. 登錄AHAS控制臺

    2. 在控制臺左側導航欄選擇多活容災

    3. 在左側導航欄選擇監控大盤,在頂部菜單欄,選擇命名空間官方示例命名空間

    4. 異地雙活區域,查看業務穩態監控指標。

      說明

      基于MSHA流量監控或其他監控能力,確定業務穩態的監控指標,以便在故障發生時判斷故障影響面以及在故障恢復后判斷業務的實際恢復情況。

      演練預期如下:

      • 下單鏈路對訂單應用是強依賴,強依賴故障會影響業務不可用。

      • 故障爆炸半徑控制在單元內。

    5. 創建故障演練。

      創建北京單元下單應用故障的演練,具體操作,請參見創建演練

  2. 故障注入。

    1. 在多活容災的監控大盤頁面異地雙活區域,查看故障演練前配置的路由規則。

      本示例中UserID為0~6652之間的用戶會路由到杭州中心單元,UserID為6653~9999之間的用戶會路由到北京單元。

      路由規則2.png

      示例的MSHA商城下單應用鏈路如下圖所示,當UserID為7000的用戶路由到北京單元。

      查看鏈路3.png

    2. 對北京單元的下單應用注入故障。

      1. AHAS控制臺的左側導航欄選擇故障演練 > 我的空間

      2. 我的空間單擊演練準備中創建的演練,然后單擊演練

      3. 開始執行演練對話框中單擊確認故障注入2.png

        若故障注入成功,UserID為7000的用戶路由到的北京單元會受到影響,下單頁訪問異常,符合預期。

        訪問失敗2.png

      4. 可選:驗證爆炸半徑。

        驗證爆炸半徑是否控制在故障單元內:

        • 預期:UserID為2000的用戶路由到杭州單元,不受北京單元故障的影響。

        • 結果:下單正常,符合預期。

切流恢復

驗證故障場景下的容災恢復能力。在北京單元發生故障的情況下,可以使用MSHA切流功能將受影響的用戶流量切換到另外的單元,進行快速業務恢復。

說明

這里區別于傳統的解決思路,不是去排查、處理和修復故障,而是立即使用切流進行恢復,將業務恢復和故障恢復解耦。

容災切換預期:將UserID為7000的用戶切流到杭州單元,切流后該用戶將路由到杭州單元,不受北京單元故障的影響。

  1. 登錄AHAS控制臺

  2. 在控制臺左側導航欄中單擊多活容災
  3. 在左側導航欄選擇基礎配置 > 命名空間,在頂部菜單欄選擇官方示例命名空間

  4. 在多活容災的左側導航欄選擇切流 > 異地雙活切流

  5. 異地雙活切流頁面,單擊切流

  6. 切流詳情頁面的規則調整區域,滑動杭州中心單元的滑塊,使得UserID 7000在杭州中心單元的規則內。

  7. 單擊生成預覽,然后在生成區域單擊執行預檢查,在切流檢查區域,單擊確認

  8. 切流確認對話框中,單擊確定

    切流任務頁面的當前狀態顯示切流完成,表示切流已成功。切流2.png

  9. 重新在MSHA商城下訂單。

    MSHA商城下單正常,符合預期。

    下單成功.png

    通過查看下單請求的實際調用鏈路,UserID為7000的用戶已路由到杭州單元,不受北京單元故障的影響,符合預期。

    查看鏈路4.png

功能演示

故障注入和切流恢復的功能演示如下。

后續步驟

您還需要進行以下操作:

  • 終止注入故障,具體操作,請參見停止演練

  • 反饋演練結果,記錄演練識別到的風險問題,具體操作,請參見反饋演練結果

  • 回切流量,將MSHA的路由規則恢復到演練前的狀態,具體操作,請參見異地雙活切流

  • 查看穩態業務指標已恢復,具體操作,請參見本文復現故障

相關文檔