检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开发简介 本文主要描述如何使用MAS-GO-SDK在多活容灾场景下对涉及Mysql的服务进行开发,结合样例讲解在开发过程中如何使用。 本文假设您已经具备如下开发能力: 熟悉Go语言,并有Go程序开发经验。 熟悉module开发模式。 熟悉Mysql的常用操作。 父主题: 概述
多活容灾监控准备 请参考MySQL/Oracle/PostgreSQL监控管理,配置多活容灾MySQL/Oracle/PostgreSQL监控。 父主题: 约束
配置项说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration 请参考PropertiesConfiguration数据结构说明。 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
绑定命名空间的实例,是否可以更改命名空间? 可以,但是只能更换同类型且多活分区类型、区域及可用区可以相互匹配的命名空间。 父主题: MAS使用相关问题
参数配置说明 local-read-async-double-write配置示例: devspore: dcs: props: version: v1 app-id: xxxx monitor-id: xxxx cloud
常用概念 MAS-Mongo-SDK MAS-Mongo-SDK是一个在mongo-java-driver的基础上实现的支持多活容灾服务的MongoDB连接客户端,支持MongoClient和MongoTemplate两种使用方式。MAS-MongoDB-SDK的宗旨是促进开发者对于异地多活的
使用场景 本模块客户端创建支持single-read-write(单读写),local-read-single-write(本地读单写),double-write(本地读双写)3种模式,其中Redis节点可配置cluster(集群), master-slave(主从), normal
常用概念 MAS-Redis-SDK MAS-Redis-SDK是一个在Jedis的基础上实现的支持多活容灾服务的Redis连接客户端,MAS-Redis-SDK的宗旨是促进开发者对于异地多活的Redis Server关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。 父主题
DCS开启/关闭白名单 概述 “DCS开启/关闭白名单”插件用于对DCS实例进行启用/停用白名单的操作。 配置介绍 表1 配置说明 参数 配置说明 任务所在region 选择任务所在区域。 实例 选择DCS实例名称。 启用白名单 配置是否启用白名单。 开启:开启白名单。 关闭:关闭白名单
单边读写 此模式为MAS-Mongo-SDK的默认路由模式,在单边读写模式下,对Mongo的读写操作都在同一Mongo数据库(dc1或dc2)进行,通过配置文件中的active字段或MAS界面配置活跃节点来指定。(通过注解指定数据源的场景例外,注解强制指定路由见强制路由)。 配置示例
Redis命令参考 MultiZoneClient集成了Redis的命令,常用命令使用方式参考如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
参数配置说明 全部配置 参数名称 是否必选 参数类型 取值范围 描述 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文件读取配置信息。 按需引入数据源
配置项说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration 请参考PropertiesConfiguration数据结构说明。 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
使用指南 Mysql配置示例 Redis配置示例 父主题: 故障注入
内置注入故障 带波动的延时故障 基于延时基数和抖动幅度创建带有波动的延时故障。具体触发要结合故障注入功能是否开启、注入故障概率、延时注入开关、延时故障生效概率决定。 异常故障 内置如下异常故障,结合故障注入功能是否开启、注入故障概率、异常注入开关、异常故障生效概率决定是否触发,触发故障为对应模块随机一种异常
多活架构对业务是有要求的吧? 是有要求的,在应用层是需要业务做一定改造,华为侧也会提供容灾规范指导咨询等。 父主题: 多活容灾方案相关问题
无从库 场景一: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。DCG指示当前激活的数据中心,SDK根据DCG的指示,在相应的数据中心操作,读写操作都在一边进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version:
使用多数据源 上面的方式都是只引入一个数据源,在某些场景下,需要引入多个数据库,操作不同的数据库,此时,可以通过配置不同前缀来注入多个datasource的bean,方法如下: 引入依赖。 <dependency> <groupId>com.huaweicloud.devspore
SingleReadWriteClient命令参考 读命令:public<T> T executeRead(Function<RestHighLevelClient, T> command) 写命令:public<T> T executeWrite(Function<RestHighLevelClient