检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
查看实验报告 混沌实验报告和混沌实验组报告提供详细的实验评估报告,涵盖执行结果、PerfTest背景流量业务指标以及AOM系统资源监控信息。 故障演练报告提供整体的和应用维度的故障注入、故障感知、故障定界、业务恢复等演练数据。 查看实验报告 登录MAS控制台。 单击“混沌工程>实验报告”,进入“实验报告”页面。
创建多活实例后实例状态显示为“创建异常”可能是什么原因? 创建多活实例后实例状态显示为“创建异常”,可能的错误提示信息及对应原因如下: the added number of cpu [1] above left profit [0]:CPU核心数资源耗尽。 Flavor c3.medium
Jedis、Lettuce Jedis是一个流行的Java客户端库,用于与Redis数据库进行交互。 Lettuce 是一个可伸缩线程安全的Redis客户端,多个线程可以共享同一个 RedisConnection。 直接替换客户端命令参考如下。 import com.huawei
开发简介 本文主要描述如何使用MAS-GO-SDK在多活容灾场景下对涉及Mysql的服务进行开发,结合样例讲解在开发过程中如何使用。 本文假设您已经具备如下开发能力: 熟悉Go语言,并有Go程序开发经验。 熟悉module开发模式。 熟悉Mysql的常用操作。 MAS-GO-SDK-Mysql
开始使用多活高可用服务 多活高可用服务(Multi-Site High Availability Service,简称MAS)源自华为消费者多活应用高可用方案,提供从流量入口、数据到应用层的端到端的业务故障切换及容灾演练能力,保障故障场景下的业务快速恢复,提升业务连续性。 使用条件
混沌工程概述 混沌工程(ChaosEngineering)是一种通过主动注入故障识别并修复系统未知隐患的工程实践。MAS-CAST混沌工程服务提供丰富的故障模式库,通过混沌实验编排攻击目标、攻击策略进行故障注入,支持添加背景流量和资源监控,同时在故障注入能力的基础上,通过体系化的
使用多数据源 上面的方式都是只引入一个数据源,在某些场景下,需要引入多个数据库,操作不同的数据库,此时,可以通过配置不同前缀来注入多个datasource的bean,方法如下: 引入依赖。 <dependency> <groupId>com.huaweicloud.devspore</groupId>
gorm 创建gorm.io/gorm包gorm.DB数据源,进行mysql操作。 依赖引入,配置文件或配置信息修改参考原生DB。 初始化创建gorm数据源DevSporeGorm,后续执行Mysql相关操作。 配置文件方式创建。 import ( "log" _
SpringBoot项目接入MAS-ElasticSearch-SDK MAS-ElasticSearch-SDK使用Maven获取版本,根据实际情况设置Maven远程仓库地址等相关配置。 在pom.xml文件中引入依赖。 <properties> <!--以最新的版本号为准-->
SpringBoot项目接入MAS-Redis-SDK MAS-Redis-SDK使用Maven获取版本,根据实际情况设置Maven远程仓库地址等相关配置。 在pom.xml文件中引入依赖,下面mas.version版本为最新版本,依赖组件版本参考如何选择组件版本。 <properties>
内置注入故障 带波动的延时故障 基于延时基数和抖动幅度创建带有波动的延时故障。具体触发要结合故障注入功能是否开启、注入故障概率、延时注入开关、延时故障生效概率决定。 异常故障 内置如下异常故障,结合故障注入功能是否开启、注入故障概率、异常注入开关、异常故障生效概率决定是否触发,触发故障为对应模块随机一种异常。
配置项说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration 请参考PropertiesConfiguration数据结构说明。 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
基础设施类故障 服务器硬件类 表1 服务器硬件类参数配置 故障类型 故障模式 设置参数 CPU CPU过载 usage 内存 内存过载 usage 磁盘 磁盘分区满 disk;usage 磁盘IO高 disk;usage 网卡 网卡down dev_name 网络通信类 表2 网络通信类参数配置
读写分离 场景二: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。跟场景一类似,同样在单边进行读写,不同之处在于,场景二中存在从库,进行读写分离,写操作在主库,读操作在从库进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props:
不支持的接口 SDK中部分jdbc相关接口不支持,详细见SDK中com.huawei.devspore.datasource.jdbc.unsupported包。下面列出了Connection、PreparedStatement、ResultSet中的部分不支持接口,如下: Connection接口。
Mysql配置示例 结合配置项说明,在配置文件或配置信息添加故障注入相关配置。 配置文件示例config_mysql_chaos.yaml props: version: v1 appId: xxx monitorId: xxxx databaseName: xxxx
无从库 场景一: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。DCG指示当前激活的数据中心,SDK根据DCG的指示,在相应的数据中心操作,读写操作都在一边进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version:
读写分离 场景四: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。跟场景三不同之处在于,场景四中存在从库,进行读写分离,写操作在主库,读操作在从库进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version: v1
无从库 场景三: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。正常场景下,不管DCG激活哪个AZ,读操作都在本地进行;只有写操作是根据DCG激活指示,在相应的AZ进行。当某AZ本地数据库故障,不可读时,读操作根据DCG激活指示。 配置如下: # 基础信息 -
强制路由 除了根据路由算法配置路由,SDK还支持通过注解@DynamicReadRoute指定读操作的路由。注解@DynamicReadRoute指定路由的参数:source,用于选择数据源,可以选择对应的枚举值:MongoSource.ACTIVE, MongoSource.LOCAL。