检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
非事务中使用强制路由 除了根据路由算法配置路由,SDK还支持通过注解@DynamicRoute强制指定路由,且相比路由算法,注解指定路由优先级更高。存在注解指定路由的场景下,优先根据注解指定进行路由。 注解@DynamicRoute指定路由分为两部分:source和hint,可单
Redis命令参考 MultiZoneClient集成了Redis的命令,使得在多个区域进行数据管理变得更加便捷和高效。 它提供了丰富的功能,包括数据读写、事务管理、数据类型操作等,可以满足各种复杂的业务需求。 常用命令使用方式参考如下: 1 2 3 4 5
无从库 场景一: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。DCG指示当前激活的数据中心,SDK根据DCG的指示,在相应的数据中心操作,读写操作都在一边进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version:
应用接入SDK 下载SDK至本地。 登录MAS控制台,进入“帮助中心”页面。 在“SDK下载>MySQL/Oracle/PostgreSQL”页签,选择Java语言最新版本SDK,单击“下载”。 引用依赖。 商城项目配置POM.xml文件(最外层POM文件),需要添加以下依赖: <dependency>
无从库 场景三: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。正常场景下,不管DCG激活哪个AZ,读操作都在本地进行;只有写操作是根据DCG激活指示,在相应的AZ进行。当某AZ本地数据库故障,不可读时,读操作根据DCG激活指示。 配置如下: # 基础信息 -
强制路由 除了根据路由算法配置路由,SDK还支持通过注解@DynamicReadRoute指定读操作的路由。注解@DynamicReadRoute指定路由的参数:source,用于选择数据源,可以选择对应的枚举值:MongoSource.ACTIVE, MongoSource.LOCAL。
使用多数据源 上面的方式都是只引入一个数据源,在某些场景下,需要引入多个数据库,操作不同的数据库,此时,可以通过配置不同前缀来注入多个datasource的bean,方法如下: 引入依赖。 <dependency> <groupId>com.huaweicloud.devspore</groupId>
ShedLock ShedLock是一个用于分布式任务调度的开源库。 它提供了一种简单而可靠的方式来确保在分布式环境中只有一个节点执行指定的任务。 对接ShedLock命令参考如下。 import com.huawei.devspore.mas.redis.core.MultiZoneClient;
版本依赖 下面是MAS-DB-SDK中引入的依赖及依赖版本: 所属模块 依赖名称 依赖版本 scope devspore-datasource com.huaweicloud.devspore:devspore-mas-common latest compile net.jodah:failsafe
SpringBoot项目接入MAS-ElasticSearch-SDK MAS-ElasticSearch-SDK使用Maven获取版本,根据实际情况设置Maven远程仓库地址等相关配置。 在pom.xml文件中引入依赖。 <properties> <!--以最新的版本号为准-->
单边读写 此模式为MAS-Mongo-SDK的默认路由模式,在单边读写模式下,对Mongo的读写操作都在同一Mongo数据库(dc1或dc2)进行,通过配置文件中的active字段或MAS界面配置活跃节点来指定。(通过注解指定数据源的场景例外,注解强制指定路由见强制路由)。 配置示例:
SpringBoot项目接入MAS-Redis-SDK MAS-Redis-SDK使用Maven获取版本,根据实际情况设置Maven远程仓库地址等相关配置。 在pom.xml文件中引入依赖,下面mas.version版本为最新版本,依赖组件版本参考如何选择组件版本。 <properties>
内置注入故障 带波动的延时故障 基于延时基数和抖动幅度创建带有波动的延时故障。具体触发要结合故障注入功能是否开启、注入故障概率、延时注入开关、延时故障生效概率决定。 异常故障 内置如下异常故障,结合故障注入功能是否开启、注入故障概率、异常注入开关、异常故障生效概率决定是否触发,触发故障为对应模块随机一种异常。
配置项说明 表1 InjectionProperties数据结构说明 参数名称 是否必选 参数类型 取值范围 描述 active 是 bool true/false 默认false 故障注入功能是否开启。 duration 是 int - 故障注入持续时间,单位:秒。 interval
DcsConnetion命令参考 DcsConnection已实现部分RedisConnection的接口。 用户有需要时可以继承重写此类方法。 常用命令使用方式参考如下: public Long append(@Nonnull byte[] key, @Nonnull byte[]
配置项说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration 请参考PropertiesConfiguration数据结构说明。 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
版本依赖 下面是MAS-Redis-SDK中引的依赖及依赖版本: 所属模块 依赖名称 依赖版本 scope devspore-dcs com.huaweicloud.devspore:devspore-mas-common latest compile com.fasterxml
本地读单边写 本地读单边写模式应在配置文件中配置routeStrategy为"local-read-single-write"。在这种路由模式下,读操作在本地进行,不受MAS指示的活跃节点影响。根据配置文件中的AZ信息判断本地属于哪个AZ,读操作时从本地AZ进行读取,写操作仍然根
开发简介 本文主要描述如何使用MAS-Mongo-SDK在多活容灾场景下对涉及MongoDB的服务进行开发,结合样例讲解MAS-Mongo-SDK在开发过程中如何使用。 本文假设您已经具备如下开发能力: 熟悉Java语言,并有Java程序开发经验。 熟悉Maven。 熟悉Mongo的常用操作。
RedisTemplate命令与DcsConnection接口对应关系 RedisTemplate命令对应DcsConnection接口,请参考下表。 表1 RedisTemplate和DcsConnection对应关系 RedisTemplate命令 DcsConnection方法