检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
环境准备 在进行应用开发时,准备环境包括开发环境准备所示任务。 表1 开发环境准备 准备项 说明 准备操作系统 Windows系统,推荐使用Windows 7及以上版本。 安装Go 开发环境的基本配置。Go版本要求1.14.6及以上。 安装配置Goland 开发程序的工具。Goland使用11
概述 故障注入功能是在上述模块的补充功能,可在对应服务添加故障注入配置创建带有注入故障的实例,可注入带波动的延时故障和异常故障,进行相关业务场景的模拟。 具体操作请参考Mysql配置示例和Redis配置示例。 相关配置详见配置项说明和内置注入故障。 父主题: 故障注入
ysql配置示例。 该模块具有如下特性: 多活容灾能力。 多活容灾能力是指在同城场景下实现多活故障自动切换,由SDK和MAS服务配合完成。 读写分离。 读写分离由SDK实现,支持随机、轮询的负载均衡算法。 故障注入。 支持带注入故障的实例创建,包含延时(波动)、预设异常的故障配置。
参数名称 是否必选 参数类型 取值范围 描述 devspore.css.etcd 否 参考MAS-DB-SDK - - devspore.css.prop 否 参考MAS-DB-SDK - - devspore.css.esservers 是 Map<String, ElasticS
本文主要描述如何使用MAS-GO-SDK在多活容灾场景下对涉及Mysql的服务进行开发,结合样例讲解在开发过程中如何使用。 本文假设您已经具备如下开发能力: 熟悉Go语言,并有Go程序开发经验。 熟悉module开发模式。 熟悉Mysql的常用操作。 MAS-GO-SDK-Mysql MAS-
使用指南 在go.mod文件中引入依赖,即引入MAS-GO-SDK。 github.com/huaweicloud/devcloud-go 结合配置项说明,添加配置文件或者配置信息。 配置文件示例config_Redis.yaml props: version: v1 appId:
多活容灾监控准备 在使用MAS-DB-SDK进行开发前,需要先做好如下准备: 已创建MAS实例。 在实例下已创建对应的监控器。 请参考MySQL/Oracle/PostgreSQL监控管理,配置多活容灾MySQL/Oracle/PostgreSQL监控。 父主题: 约束
强制路由 除了根据路由算法配置路由,SDK还支持通过注解@DynamicReadRoute指定读操作的路由。注解@DynamicReadRoute指定路由的参数:source,用于选择数据源,可以选择对应的枚举值:MongoSource.ACTIVE, MongoSource.LOCAL。
props: decipher-class-name: com.demo.MyDecipher 父主题: MAS-Redis-SDK使用手册
环境准备 在进行应用开发时,准备环境包括开发环境准备所示任务。 表1 开发环境准备 准备项 说明 准备操作系统 Windows系统,推荐使用Windows 7及以上版本。 安装Go 开发环境的基本配置。版本要求1.14.6及以上。 安装配置Goland Goland使用11.0及以上版本,用于开发程序的工具。
单边读写 此模式为MAS-Mongo-SDK的默认路由模式,在单边读写模式下,对Mongo的读写操作都在同一Mongo数据库(dc1或dc2)进行,通过配置文件中的active字段或MAS界面配置活跃节点来指定。(通过注解指定数据源的场景例外,注解强制指定路由见强制路由)。 配置示例:
使用指南 原生DB beego-orm gorm 父主题: Mysql
强制路由 非事务中使用强制路由 事务中使用强制路由 父主题: 使用场景
如何选择组件版本 MAS-Mongo-SDK 1.3.1-RELEASE springboot适用版本:2.7.0 - 2.7.2 表1 核心依赖组件版本 GroupId ArtifactId Version 备注 org.springframework spring-aspects
spring-boot-data-redis ShedLock Redisson Lock 自定义DcsConnection 父主题: MAS-Redis-SDK使用手册
配置项说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration 请参考PropertiesConfiguration数据结构说明。 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
内置注入故障 带波动的延时故障 基于延时基数和抖动幅度创建带有波动的延时故障。具体触发要结合故障注入功能是否开启、注入故障概率、延时注入开关、延时故障生效概率决定。 异常故障 内置如下异常故障,结合故障注入功能是否开启、注入故障概率、异常注入开关、异常故障生效概率决定是否触发,触发故障为对应模块随机一种异常。
使用指南 Mysql配置示例 Redis配置示例 父主题: 故障注入
写操作,路由到active数据源 action.count(xxx); // 读操作,路由到本地数据源 }); 2. 有限制的命令 表1 MAS-Mongo-SDK有限制的命令 命令名称 使用限制 原因 MongoTemplate.findAllAndRemove() 本地读单边写模式下,此命令不支持。
单边读写 这种路由算法场景下,对数据库的读写操作都只在一边(数据中心1或者数据中心2)进行,根据active指示,在相应的那边数据中心操作。(通过注解指定的场景例外,注解指定见强制路由) 路由算法不支持动态切换,更改路由算法,需要重启服务。 无从库 读写分离 父主题: 使用场景