检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
多活容灾MongoDB监控准备 在使用MAS-MongoDB-SDK进行开发前,需要先做好如下准备: 已创建MAS实例。 在实例下已创建对应的监控器。 配置多活容灾MongoDB监控,请参考MongoDB监控管理 。 父主题: 约束
command) 其中RestHighLevelClient为Elasticsearch官方客户端。 父主题: MAS-ElasticSearch-SDK使用手册
参数名称 是否必选 参数类型 取值范围 描述 devspore.css.etcd 否 参考MAS-DB-SDK - - devspore.css.prop 否 参考MAS-DB-SDK - - devspore.css.esservers 是 Map<String, ElasticS
读命令列表 MAS-Mongo-SDK将以下mongo命令视为读命令,上述的本地读单边写和注解强制路由均根据此表来操作。 表1 读命令列表 序号 命令 描述 1. aggregate、count、distinct、mapReduce Aggregation Commands 2.
Redis命令参考 MultiZoneClient集成了Redis的命令,使得在多个区域进行数据管理变得更加便捷和高效。 它提供了丰富的功能,包括数据读写、事务管理、数据类型操作等,可以满足各种复杂的业务需求。 常用命令使用方式参考如下: 1 2 3 4 5
单边读写 这种路由算法场景下,对数据库的读写操作都只在一边(数据中心1或者数据中心2)进行,根据active指示,在相应的那边数据中心操作。(通过注解指定的场景例外,注解指定见强制路由) 路由算法不支持动态切换,更改路由算法,需要重启服务。 无从库 读写分离 父主题: 使用场景
配置项说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration 请参考PropertiesConfiguration数据结构说明。 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
内置注入故障 带波动的延时故障 基于延时基数和抖动幅度创建带有波动的延时故障。具体触发要结合故障注入功能是否开启、注入故障概率、延时注入开关、延时故障生效概率决定。 异常故障 内置如下异常故障,结合故障注入功能是否开启、注入故障概率、异常注入开关、异常故障生效概率决定是否触发,触发故障为对应模块随机一种异常。
使用指南 Mysql配置示例 Redis配置示例 父主题: 故障注入
ShedLock ShedLock是一个用于分布式任务调度的开源库。 它提供了一种简单而可靠的方式来确保在分布式环境中只有一个节点执行指定的任务。 对接ShedLock命令参考如下。 import com.huawei.devspore.mas.redis.core.MultiZoneClient;
DcsConnetion命令参考 DcsConnection已实现部分RedisConnection的接口。 用户有需要时可以继承重写此类方法。 常用命令使用方式参考如下: public Long append(@Nonnull byte[] key, @Nonnull byte[]
事务中使用强制路由 SDK不支持分布式事务,事务与强制指定路由@DynamicRoute同时使用时,以第一条sql选择的数据源为准。 后续sql,即使使用@DynamicRoute指定数据源,也不生效。同一个事务中,不允许访问不同的数据库。 如下,service层的updateU
如何选择组件版本 SpringBoot接入涉及组件版本参考。 表1 SpringBoot涉及组件版本 GroupId ArtifactId Version 备注 org.springframework.boot spring-boot-autoconfigure-processor
配置项说明 表1 InjectionProperties数据结构说明 参数名称 是否必选 参数类型 取值范围 描述 active 是 bool true/false 默认false 故障注入功能是否开启。 duration 是 int - 故障注入持续时间,单位:秒。 interval
非事务中使用强制路由 除了根据路由算法配置路由,SDK还支持通过注解@DynamicRoute强制指定路由,且相比路由算法,注解指定路由优先级更高。存在注解指定路由的场景下,优先根据注解指定进行路由。 注解@DynamicRoute指定路由分为两部分:source和hint,可单
Redis配置示例 结合配置项说明,在配置文件或配置信息添加故障注入相关配置。 配置文件示例config_Redis_chaos.yaml props: version: v1 appId: xxx monitorId: xxxx cloud: xxxx region:
读写分离 场景二: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。跟场景一类似,同样在单边进行读写,不同之处在于,场景二中存在从库,进行读写分离,写操作在主库,读操作在从库进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props:
原生DB 创建go版本下database/sql包sql.DB数据源,进行mysql操作。 在go.mod文件中引入依赖,即引入MAS-GO-SDK。 github.com/huaweicloud/devcloud-go 结合配置项说明,添加配置文件或者配置信息。 配置文件示例config_mysql
success-{}", Thread.currentThread()); } } } 父主题: MAS-Redis-SDK使用手册
Mysql配置示例 结合配置项说明,在配置文件或配置信息添加故障注入相关配置。 配置文件示例config_mysql_chaos.yaml props: version: v1 appId: xxx monitorId: xxxx databaseName: xxxx