检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用场景 single-read-write(单边读写) local-read-single-write(本地读单边写) local-read-async-double-write(本地读异步双写) single-read-async-double-write(单边读异步双写) 父主题
敏感信息加解密 配置文件中配置密文信息。可以解密的配置有devspore.dcs.redis.servers.dc1.password,devspore.dcs.redis.servers.dc1.sentinelPassword,devspore.dcs.etcd.password
使用场景 本模块数据源创建支持single-read-write(单读写),local-read-single-write(本地读单写)2种模式,同时SDK内置实现了读写分离,可通过配置RANDOM(随机)或ROUND_ROBIN(轮询)负载均衡算法,搭配MAS可实现多活容灾;同时内置故障注入功能可创建带有注入故障的实例
不支持的接口 SDK中部分jdbc相关接口不支持,详细见SDK中com.huawei.devspore.datasource.jdbc.unsupported包。下面列出了Connection、PreparedStatement、ResultSet中的部分不支持接口,如下: Connection
参数配置说明 全部配置 参数名称 是否必选 参数类型 取值范围 描述 devspore.css.etcd 否 参考MAS-DB-SDK - - devspore.css.prop 否 参考MAS-DB-SDK - - devspore.css.esservers 是 Map<String
配置项说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration 请参考PropertiesConfiguration数据结构说明。 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
使用指南 Mysql配置示例 Redis配置示例 父主题: 故障注入
内置注入故障 带波动的延时故障 基于延时基数和抖动幅度创建带有波动的延时故障。具体触发要结合故障注入功能是否开启、注入故障概率、延时注入开关、延时故障生效概率决定。 异常故障 内置如下异常故障,结合故障注入功能是否开启、注入故障概率、异常注入开关、异常故障生效概率决定是否触发,触发故障为对应模块随机一种异常
使用场景 local-read-write(单边读写) 父主题: MAS-ElasticSearch-SDK使用手册
使用指南 原生DB beego-orm gorm 父主题: Mysql
强制路由 非事务中使用强制路由 事务中使用强制路由 父主题: 使用场景
客户各场景替换方案 Jedis、Lettuce spring-boot-data-redis ShedLock Redisson Lock 自定义DcsConnection 父主题: MAS-Redis-SDK使用手册
强制路由 除了根据路由算法配置路由,SDK还支持通过注解@DynamicReadRoute指定读操作的路由。注解@DynamicReadRoute指定路由的参数:source,用于选择数据源,可以选择对应的枚举值:MongoSource.ACTIVE, MongoSource.LOCAL
使用限制 session使用 仅支持通过以下接口获取session: com.huawei.devspore.mas.mongo.core.client.Cluster.startSession() com.huawei.devspore.mas.mongo.core.client.Cluster.startSession
配置参数说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration object 请参考表2 PropertiesConfiguration数据结构说明 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
配置项说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration 请参考PropertiesConfiguration数据结构说明。 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
如何选择组件版本 SpringBoot接入涉及组件版本参考。 表1 SpringBoot涉及组件版本 GroupId ArtifactId Version 备注 org.springframework.boot spring-boot-autoconfigure-processor
单边读写 这种路由算法场景下,对数据库的读写操作都只在一边(数据中心1或者数据中心2)进行,根据active指示,在相应的那边数据中心操作。(通过注解指定的场景例外,注解指定见强制路由) 路由算法不支持动态切换,更改路由算法,需要重启服务。 无从库 读写分离 父主题: 使用场景
使用多数据源 上面的方式都是只引入一个数据源,在某些场景下,需要引入多个数据库,操作不同的数据库,此时,可以通过配置不同前缀来注入多个datasource的bean,方法如下: 引入依赖。 <dependency> <groupId>com.huaweicloud.devspore
分布式锁场景最佳实践 分布式锁场景需根据所选取的路由模式来选择合适的策略。 路由模式为single-read-write, single-read-async-double-write时 由于读写都在同一边,分布式锁不受影响。 路由模式为local-read-single-write