應用雙活接入示例
更新時間 2025-10-16 16:22:54
最近更新時間: 2025-10-16 16:22:54
分享文章
本章節通過一個單體應用示例為您介紹如何接入應用容災多活的應用雙活架構并進行功能測試。
背景信息
應用雙活架構
應用雙活架構采用數據主備集群模式,優點是實現簡單,業務改造成本低,不需要過多考慮多中心數據讀寫沖突問題,流量層和應用層常態化跨中心多活,數據層通過容災主備切換實現高可用。
架構示意如圖:
推薦業務場景:
- 業務數據集中化,無法拆分。
- 業務數據拆分成本高,應用期望少改造或零改造。
- 數據中心距離較近,異地數據讀寫延遲可接受(建議物理距離≤100km,網絡延遲≤10ms)。
示例應用架構
示例商城應用liliShop是一個典型的分層邏輯架構,包含以下模塊:
- front:負責與用戶交互。
- shop:商城領域封裝,為front提供服務。
- framework:核心業務實現,包含商品、購物車、下單等所有功能。
技術棧:
- SpringBoot。
- MySQL。
接入步驟
1、準備好資源、環境與應用
1.1、資源開通
應用容災多活是構建在已有應用之上的管控,協同其他云產品,但不負責其他云產品的生命周期,需要您提前規劃與創建。
您可以根據規劃的物理架構,在指定區域或可用區提前開通與創建應用部署所需的資源與服務,例如虛擬私有云VPC 、微服務云應用平臺MSAP和彈性云主機ECS等。
1.2、網絡互通
應用雙活架構存在跨數據中心調用的場景,需要您提前打通兩個數據中心之間的網絡。
您可以根據選定的物理架構,選擇合適粒度的網絡連通方案,例如連通兩個區域的云間高速產品和連通兩個VPC的對等連接產品等。
1.3、應用準備
在這個示例中,對應用的部署方式沒有強制要求,可以開通彈性云主機ECS實例自行部署應用服務,也可以開通微服務云應用平臺MSAP進行應用部署管理。
還需要您開通:
- 關系型數據庫MySQL版實例,并結合數據傳輸服務DTS進行業務數據跨中心同步。
- 微服務引擎注冊配置中心用于注冊中心和管控通道。
- 微服務引擎云原生網關用于前端服務轉發。
圖 部署架構
2、開通應用容災多活服務,創建多活應用系統
2.1、創建應用
- 登錄應用高可用控制臺,單擊左側菜單欄應用容災多活,在應用容災多活菜單下單擊應用雙活。
- 進入應用雙活管理頁面,然后單擊創建應用系統,輸入lilishop商城系統, 勾選應用系統需要開通的模塊(微服務引擎注冊配置中心、微服務引擎云原生網關、Dubbo、關系數據庫MySQL版)、勾選“我已閱讀,理解并接受《應用容災多活計費規則》”,單擊確定按鈕完成創建。
2.2、架構管理
2.2.1、單元配置
- 登錄應用高可用控制臺,單擊左側菜單欄應用容災多活,在應用容災多活菜單下單擊應用雙活。
- 在應用雙活應用系統列表頁面,單擊lilishop商城系統, 進入應用系統概覽頁面。
- 單擊左側菜單欄系統架構配置,單擊站點管理的創建按鈕,依次創建廣州站點和佛山站點。
- 單擊左側菜單欄系統架構配置,單擊單元管理的創建按鈕,依次創建創建廣州單元和佛山單元。
2.2.2、路由配置
- 登錄應用高可用控制臺,單擊左側菜單欄應用容災多活,在應用容災多活菜單下單擊應用雙活。
- 在應用雙活應用系統列表頁面,單擊lilishop商城系統,進入應用系統概覽頁面。
- 單擊左側菜單欄路由規則配置,單擊創建,創建單元組,lilishop商城模塊。
- 本示例不設置解析規則,單擊解析規則默認內容行的刪除,清空解析規則默認配置。
- 設置流量比例(廣州單元:佛山單元=100:0),全部流量轉發至廣州單元。
- 單擊確定,完成創建。
2.3、資源管理
2.3.1、接入層配置
- 登錄應用高可用控制臺,單擊左側菜單欄應用容災多活,在應用容災多活菜單下單擊應用雙活。
- 在應用雙活應用系統列表頁面,單擊lilishop商城系統, 進入應用系統概覽頁面。
- 單擊左側導航欄容災配置,在容災配置菜單下單擊接入層配置,進入容災配置-接入層配置頁面。
- 在站點網關列表,單擊所選站點操作列選擇網關按鈕,彈出接入層網關選擇頁面。
- 在接入層網關實例列表,單擊所選網關實例操作列選擇按鈕,選擇已開通的網關實例,完成站點網關實例綁定。
- 單擊URI配置列表上方創建按鈕,彈出新增URI配置頁面,依次填入各個單元組URI、應用入口地址等信息完成配置。
2.3.2、數據層配置
- 登錄應用高可用控制臺,單擊左側菜單欄應用容災多活,在應用容災多活菜單下單擊應用雙活。
- 在應用雙活應用系統列表頁面,單擊lilishop商城系統, 進入應用系統概覽頁面。
- 單擊左側導航欄容災配置,在容災配置菜單下單擊數據層配置,進入容災配置-數據層配置頁面。
- 單擊數據源配置列表上方創建按鈕,依次創建各個單元組不同站點的數據源。
- 單擊數據同步任務列表上方創建按鈕,以開始創建數據同步任務。
- 選擇創建的同步任務,點擊配置鏈路,彈出配置數據同步鏈路配置頁面,在配置數據同步鏈路配置頁面點擊綁定,彈出綁定同步鏈路信息頁面。
- 在綁定同步鏈路信息頁面依次選擇同步工具實例并根據需求選擇關聯方式,在本示例中選擇創建任務, 進一步填寫需要同步的庫表配置和同步配置 ,完成所有必要信息填寫后,點擊確定保存配置。
- 在數據同步任務列表頁面,找到剛剛創建的任務,選擇創建的任務,點擊批量啟動按鈕,開啟同步。
- 若同步任務的服務狀態為全量同步中或增量同步中,則說明開啟同步成功。
2.3.3、基線推送
- 登錄應用高可用控制臺,單擊左側菜單欄應用容災多活,在應用容災多活菜單下單擊應用雙活。
- 在應用雙活應用系統列表頁面,單擊lilishop商城系統, 進入應用系統概覽頁面。
- 在左側導航欄選擇容災配置,在容災配置菜單下單擊總覽,在容災配置-總覽頁面單擊基礎配置推送按鈕進入基礎配置推送列表頁面。
- 在基礎配置推送列表頁面,點擊左側推送配置按鈕,查看任務下方單元組配置變更內容,確認無誤后,輸入任務名稱。
- 單擊確定按鈕,自動跳轉到基礎配置推送任務列表頁面,選擇剛剛創建的任務名稱,點擊狀態列,可以查看任務的各個步驟詳情以及任務進度。
- 在任務處理結果列,點擊任務結果,可以查看任務詳情信息。
3、為Java應用安裝Agent
3.1、應用安裝探針
- 登錄應用高可用控制臺,單擊左側菜單欄應用容災多活,在應用容災多活菜單下單擊應用雙活。
- 在應用雙活應用系統列表頁面,單擊lilishop商城系統, 進入應用系統概覽頁面。
- 單擊左側導航欄容災配置,在容災配置菜單下單擊服務層配置,進入容災配置-服務層配置頁面。
- 單擊左上方應用接入按鈕,彈出應用接入頁面。
- 在彈出應用接入頁面,點擊查看密鑰,獲取密鑰。
- 為應用配置JVM參數,根據應用所屬單元組和單元,將參數模板中的各個變量替換為實際的值。
-javaagent:${探針JAR所在路徑}
-Damss.application.group=${單元組編碼}
-Damss.application.name=${應用名稱}
-Damss.service.ip=${應用IP,可選}
-Damss.commander.servers=${管控通道地址}
-Damss.commander.secret=${管控通道密鑰}
配置參數說明 :
- ${管控通道地址}:您可以在應用容災多活控制臺的應用接入頁面查看管控通道地址。
- ${管控通道密鑰}:您可以在應用容災多活控制臺的應用接入頁面查看管控通道密鑰。
您需要根據實際參數為每個應用配置JVM啟動參數,應用通過JavaAgent的方式植入管控邏輯,將應用納入應用容災多活系統。
啟動腳本示例如下:
- 廣州站點啟動腳本
-javaagent:/app/mall/agent/amss-agent-${版本號}.jar
-Damss.application.name=lilishop
-Damss.application.group=g_shop
-Damss.command.servers=###
-Damss.command.secret=###
- 佛山站點啟動腳本
-javaagent:/app/mall/agent/amss-agent-${版本號}.jar
-Damss.application.name=lilishop
-Damss.application.group=g_shop
-Damss.command.servers=###
-Damss.command.secret=###
3.2、重啟應用
安裝了探針的應用在啟動后,會自動上報心跳信息。在控制臺服務層配置頁面,若該應用實例信息顯示在列表中且狀態列為在線,則說明探針安裝成功。
4、驗證雙活能力
4.1、驗證流量分發能力
| 驗證 | 說明 |
|---|---|
| 測試內容 | 驗證網關流量分發。 |
| 測試類型 | 人工UAT測試。 |
| 前提條件 | - 完成微服務引擎云原生網關組件的訂購。 - 登錄云原生網關控制臺,選擇該應用的云原生網關實例,點擊功能設置中可觀測性配置,啟用鏈路追蹤功能。 - 在應用控容災多活制臺完成網關配置。 |
| 測試步驟 | 1. 根據流量比例規則,查看網關轉發是否正常。例如,初始化時廣州單元、佛山單元的流量比例為100:0。 2. 多次訪問/操作lilishop商城系統,登錄云原生網關控制臺查看網關鏈路追蹤始終訪問到廣州單元入口應用。 |
| 測試結果 | 符合預期。 |
4.2、驗證流量切換能力
| 驗證 | 說明 |
|---|---|
| 測試內容 | 驗證網關流量分發及切流。 |
| 測試類型 | 人工UAT測試。 |
| 前提條件 | - 完成微服務引擎云原生網關組件的訂購。 - 登錄云原生網關控制臺,選擇該應用的云原生網關實例,點擊功能設置中可觀測性配置,啟用鏈路追蹤功能。 - 在應用容災多活控制臺完成網關配置。 - 登錄注冊配置中心控制臺,選擇該應用使用的注冊中心實例,開啟實例間服務同步任務。 |
| 測試步驟 | 1. 切流。調整佛山單元、廣州單元的流量比例為0:100,多次訪問/操作lilishop商城系統,登錄云原生網關控制臺查看網關鏈路追蹤,應用始終訪問到廣州單元入口。 2. 切流。調整佛山單元、廣州單元的流量比例為50:50,多次訪問/操作lilishop商城系統,登錄云原生網關控制臺查看網關鏈路追蹤,應用分別訪問到廣州單元入口和佛山單元入口。 |
| 測試結果 | 符合預期。 |
4.3、驗證主備切換能力
| 驗證 | 說明 |
|---|---|
| 測試內容 | 驗證主備切換能力。 |
| 測試類型 | 人工UAT測試。 |
| 前提條件 | - 在應用控容災多活制臺完成接入層配置。 - 在應用容災多活控制臺完成數據層配置。 - 應用掛載上應用容災多活探針。 |
| 測試步驟 | 1. 將廣州單元的數據庫停止來模擬故障,此時登錄lilishop商城系統將出現異常。 2. 發起主備切換。 3.?主備切換完成后,登錄lilishop商城系統,執行刷新首頁和下訂單操作,此時服務正常響應。 |
| 測試結果 | 符合預期。 |