检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开发简介 本文主要描述如何使用MAS-GO-SDK在多活容灾场景下对涉及Mysql的服务进行开发,结合样例讲解在开发过程中如何使用。 本文假设您已经具备如下开发能力: 熟悉Go语言,并有Go程序开发经验。 熟悉module开发模式。 熟悉Mysql的常用操作。 MAS-GO-SDK-Mysql
参数配置说明 全部配置 参数名称 是否必选 参数类型 取值范围 描述 devspore.css.etcd 否 参考MAS-DB-SDK - - devspore.css.prop 否 参考MAS-DB-SDK - - devspore.css.esservers 是 Map<String
开发流程 开发的流程如下所示: 版本获取及引入依赖。 通过go.mod引入需要的依赖,是使用MAS-GO-SDK的基础。 配置创建数据源。 通过配置数据源驱动信息,引入MAS-GO-SDK-Mysql创建数据源。 支持以代码方式添加配置信息或者从YAML文件读取配置信息。 按需引入数据源。
内置注入故障 带波动的延时故障 基于延时基数和抖动幅度创建带有波动的延时故障。具体触发要结合故障注入功能是否开启、注入故障概率、延时注入开关、延时故障生效概率决定。 异常故障 内置如下异常故障,结合故障注入功能是否开启、注入故障概率、异常注入开关、异常故障生效概率决定是否触发,触发故障为对应模块随机一种异常。
开通的功能模块删除时失败是什么原因? 当开通的功能模块下存在依赖的命名空间,无法删除该功能模块。比如命名空间下已经勾选了某个功能点,此时需要编辑命名空间,删除掉已勾选的功能点,然后才能在“开通功能模块”页面删除对应的功能点。 父主题: MAS使用相关问题
开发流程 开发的流程如下所示: 版本获取及引入依赖。 通过Maven引入需要的依赖,是使用MAS-Redis-SDK的基础。 添加客户端配置。 通过添加客户端配置,接入MAS-Redis-SDK。 创建MultiZoneClient客户端。 MAS-Redis-SDK提供读取YAML文件创建客户端的方法。
RDS灾备实例升主 概述 “RDS灾备实例升主”插件用于检查灾备实例升主。 配置介绍 表1 选择输入-配置说明 参数 配置说明 任务所在region 选择任务所在区域。 凭证 选择凭证,默认显示当前命名空间多活分区下已配置的默认凭证。 项目 选择项目,默认显示当前命名空间多活分区下已配置的默认项目。
参考故障注入Mysql配置示例。 该模块具有如下特性: 多活容灾能力。 多活容灾能力是指在同城场景下实现多活故障自动切换,由SDK和MAS服务配合完成。 读写分离。 读写分离由SDK实现,支持随机、轮询的负载均衡算法。 故障注入。 支持带注入故障的实例创建,包含延时(波动)、预设异常的故障配置。
版本约束 MAS-Mongo-SDK对使用到的工具及相关组件的版本有所约束,如下表: 约束项 约束版本 JDK 1.8.0_262及以上版本 Maven 3.3.0及以上版本 MongoDB版本 4.4及以下版本 SDK组件依赖 见如何选择组件版本 spring-boot版本 2
环境准备 在进行应用开发时,准备环境包括开发环境准备所示任务。 表1 开发环境准备 准备项 说明 准备操作系统 Windows系统,推荐使用Windows 7及以上版本。 安装Go 开发环境的基本配置。版本要求1.14.6及以上。 安装配置Goland Goland使用11.0及以上版本,用于开发程序的工具。
版本依赖 下面是MAS-Redis-SDK中引的依赖及依赖版本: 所属模块 依赖名称 依赖版本 scope devspore-dcs com.huaweicloud.devspore:devspore-mas-common latest compile com.fasterxml
如何选择组件版本 SpringBoot接入涉及组件版本参考。 表1 SpringBoot涉及组件版本 GroupId ArtifactId Version 备注 org.springframework.boot spring-boot-autoconfigure-processor
使用指南 在go.mod文件中引入依赖,即引入MAS-GO-SDK。 github.com/huaweicloud/devcloud-go 结合配置项说明,添加配置文件或者配置信息。 配置文件示例config_Redis.yaml props: version: v1 appId:
RDS实例指定用户读写设置 概述 “RDS实例指定用户读写设置”插件用于设置RDS实例指定用户为只读或读写。 配置介绍 表1 选择输入-配置说明 参数 配置说明 任务所在region 选择任务所在区域。 凭证 选择凭证,默认显示当前命名空间多活分区下已配置的默认凭证。 项目 选择
Redisson Lock Redisson是一个基于Redis的Java库,它提供了一系列的分布式对象和服务,其中包括分布式锁。 Redisson的分布式锁实现了可靠的分布式锁机制,可以在分布式环境下实现对共享资源的并发访问控制。 对接Redisson Lock命令参考如下。 import
cd配置、sources数据源配置、router路由配置。 如果使用MAS服务,props配置、etcd配置则必须要配置,sources数据源配置需要与MAS服务中连接池中的命名一致。如果不对接MAS服务,props配置、etcd配置无需配置,sources数据源配置本地所用数据库即可。
敏感信息加解密 配置文件中配置密文信息。可以解密的配置有devspore.dcs.redis.servers.dc1.password,devspore.dcs.redis.servers.dc1.sentinelPassword,devspore.dcs.etcd.password
不支持的接口 SDK中部分jdbc相关接口不支持,详细见SDK中com.huawei.devspore.datasource.jdbc.unsupported包。下面列出了Connection、PreparedStatement、ResultSet中的部分不支持接口,如下: Connection接口。
MAS多活管理切换/回切 概述 “MAS多活管理切换/回切”插件用于配置MAS多活管理中心的数据库监控进行切换/回切数据中心操作。 配置介绍 表1 配置说明 参数 配置说明 多活管理中心 选择多活管理中心。 监控类型 选择监控类型。 监控 选择监控。 操作 配置监控操作。 切换:切换数据中心。
PerfTest测试任务启动/停止 概述 “PerfTest测试任务启动/停止”插件用于配置PerfTest测试任务的启动/停止操作。 配置介绍 表1 配置说明 参数 配置说明 任务所在region 选择任务所在区域。 测试工程 选择测试工程。 测试任务 选择测试任务。 资源组类型