检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
默认“是”,选“否”则不会探测数据库异常情况。 是否自动切换 默认“是”,选“否”则不会自动切换数据库。 路由算法 选择路由算法,支持单边读写。 填写数据中心配置,完成后单击“下一步:高级配置”。 图2 新增Elasticsearch监控-数据中心配置 表3 数据中心配置信息 参数 配置说明 云选择
故障注入功能是在上述模块的补充功能,可在对应服务添加故障注入配置创建带有注入故障的实例,可注入带波动的延时故障和异常故障,进行相关业务场景的模拟。 具体操作请参考Mysql配置示例和Redis配置示例。 相关配置详见配置项说明和内置注入故障。 父主题: 故障注入
查看注册后数据库ds1管理员表的用户数据。 结论:数据库ds1新增“SDK-test”用户名,SDK提供的服务正常运行。 SDK切换数据源测试 验证SDK提供的切换数据源功能,可在yaml直接配置当前活跃的数据源,使用之前已注册的“SDK-test”用户名进行登录验证。 切换数据源为ds2,切换配置如下:
多活容灾方案对网络是不是也有要求?否则网络不稳定很差或网络抖动场景下,是不是会存在误切现象? 同region多AZ情况下,配置是多份还是一份? MAS APIG在当前用户方案中是两边都部署吗?还是只在华为侧部署,再指向第三方云的网关?
华为云同Region多AZ,APIG网关导流,数据层单实例或者双实例架构图中,哪个是用户提供的,哪个是MAS提供的? APIG Site、MAS(DB Monitor、DC Monitor)、MAS SDK、DRS(华为RDS到其他云的RDS的数据同步)等都是用华为的,而ELB和CDN等是客户自己的。
在页面顶端导航栏选择“监控列表”,单击页面左上角的“新增监控”。 在新增监控页面配置监控基础配置,完成后单击“下一步:数据中心配置”。 图3 新增监控基础配置 表4 基础配置信息 参数 配置说明 监控 此处配置为“API监控”。 应用名称 选择步骤一:创建MAS应用中创建的应用。 监控器名称
应用韧性Hub提供了各种参考架构供用户参考。提供部署场景、应用SLO目标、架构图三种配置项,用户可以根据业务需求,配置所需的架构用于参考。 配置参考架构 登录MAS控制台。 单击“应用韧性Hub>参考架构”,进入“参考架构”页面。 图1 参考架构配置 根据部署场景、应用SLO目标、架构图配置项,查看对应的参考架构介绍以及架构图。
基本概念 命名空间 命名空间(Namespace)承载整个多活项目的资源集合,包括了流量入口、多活分区、数据同步、数据监控等内容。用户可以创建多个命名空间,用于逻辑隔离不同的资源。一般推荐按照企业的系统划分,比如OA系统,支付系统等可以各建一个命名空间。 实例 MAS向用户提供服务的最小资源单位。
被委托的A账号创建凭证,凭证类型选择“IAM委托”,“委托账号”和“委托名”根据1配置。 A账号创建命名空间,主多活分区“默认凭证”配置为“当前账号凭证”,备多活分区“默认凭证”配置为2中创建的凭证。 A账号添加数据源,命名空间选择3中命名空间的“备多活分区”,“链接模式”选择“RDS”,
网关监控异常后根据配置信息进行相应操作。 添加数据源 在MAS服务控制台“数据管理>数据源”页面添加数据源,数据源需要归属到某个命名空间下。 创建同步链路 在MAS服务控制台“数据管理>数据同步”页面创建同步链路,实现两个相同类型数据源之间的数据同步功能;数据同步链路需要归属到某个命名空间下。
Redis命令参考 MultiZoneClient集成了Redis的命令,使得在多个区域进行数据管理变得更加便捷和高效。 它提供了丰富的功能,包括数据读写、事务管理、数据类型操作等,可以满足各种复杂的业务需求。 常用命令使用方式参考如下: 1 2 3 4 5
体根据Redis的部署方式选择。 填写数据中心配置,完成后单击“下一步:高级配置”。 图2 新增监控数据中心配置 表3 数据中心配置信息 参数 配置说明 云选择 被监控Redis集群所属云。可选择第三方云厂商,实现跨云监控。 局点 填写步骤一:准备Redis数据库中创建Redis时选择的Region。
前提条件 已参考准备资源章节准备虚拟机资源。 有可用的VPC,并且已配置好子网与安全组,否则请参考准备资源完成VPC、子网和安全组,以及边缘节点的创建注册自建边缘节点。 已创建云连接实例,云连接域间带宽建议至少20Mbit/s,配置方法请参考配置域间带宽。 创建实例时会使用智能边
单击监控所在行右侧的“回切”按钮。 在弹窗中单击“确认”。活跃数据库由数据中心2变为数据中心1。 再次使用“SDK-test”用户名和密码登录mall商城,可以发现“SDK-test”用户名再次登录成功。 结论:MySQL监控器切换数据中心成功。 父主题: 商城应用改造
certificatePath: xxx // 启用https时证书路径,实例未开启双向认证或不启用https场景,该配置可以不填 # 数据源配置 - 必选 sources: ds1: // 数据库直接点配置, 需要和MAS服务中连接池中命名一致 driverClassName: com.mysql
故障演练的执行记录跟实验和实验组的执行记录不同,演练的执行记录需要在“记录组”回填响应的数据,回填的数据在大屏和演练报告会作为数据源展示出来。 单击执行记录所在行的“执行详情”,可跳转至执行详情的“执行总览”页面进行查看。单击“执行详情”页签,可查看执行详情数据。 查看执行记录 登录MAS控制台。 单击“混沌工程>执行记录”,进入“执行记录”页面。
其中Redis节点可配置cluster(集群), master-slave(主从), normal(普通)Redis服务,搭配MAS可实现多活容灾;同时内置故障注入功能可创建带有注入故障的实例,进行相关业务场景的模拟,配置修改请参考故障注入Redis配置示例。 该模块具有如下特性:
certificatePath: xxx // 启用https时证书路径,实例未开启双向认证或不启用https场景,该配置可以不填 # 数据源配置 - 必选 sources: ds1: // 数据库直接点配置, 需要和MAS服务中连接池中命名一致 driverClassName: com.mysql
报错信息显示未匹配到正确的数据源信息,程序无法启动。 出现原因: SpringBoot自带原生数据源,相关数据源的查找是由SpringBoot自动查找并注入,但是YAML件中将SDK提供的数据源替换SpringBoot提供的spring-dataSource后,相关依赖包无法找到数据源配置。 解决方案:
依赖冲突问题修复 完成相关配置后(请确保各个配置项无误且功能正常),直接运行程序会存在依赖冲突问题,下面进行逐一修复(以下问题的修复是相关联的,上一个问题修复后重新运行而产生的后续问题)。 问题一:Logback-classic及log4j-to-slf4j的包冲突问题。 报错如下: