应用双活接入示例
更新时间 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商城系统,执行刷新首页和下订单操作,此时服务正常响应。 |
测试结果 | 符合预期。 |