检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
region: xxxxx azs: az1 etcd: address: xxx.xxx.xxx.xxx:xxxx api-version: v3 username: xxxx password: xxxx https-enable: false redis:
灾能力需要MAS服务支持,SDK的故障动态切换数据源能力需要配合MAS实例一起使用。 在使用MAS-ElasticSearch-SDK进行开发前,需要先做好如下准备: 已创建MAS实例。 在实例下已创建对应的监控器。 请参考ElasticSearch监控管理,配置多活容灾ElasticSearch监控。
SpringBoot项目接入MAS-ElasticSearch-SDK MAS-ElasticSearch-SDK使用Maven获取版本,根据实际情况设置Maven远程仓库地址等相关配置。 在pom.xml文件中引入依赖。 <properties> <!--以最新的版本号为准-->
强制路由 除了根据路由算法配置路由,SDK还支持通过注解@DynamicReadRoute指定读操作的路由。注解@DynamicReadRoute指定路由的参数:source,用于选择数据源,可以选择对应的枚举值:MongoSource.ACTIVE, MongoSource.LOCAL。
默认值 备注 etcd.address ETCD地址 空 MAS服务总览页单击ETCD连接地址后的查看详情获取。 etcd.apiVersion ETCD接口版本 v3 固定值v3。 etcd.username ETCD用户名 空 MAS服务总览页单击ETCD连接地址后的查看详情获取。
local-read-single-write(本地读单边写) 本地读单边写,适用于读多写少场景,读流量很大,对一致性不敏感的场景: 对于用户,不感知多个Redis。 对于SDK 读操作:同步路由到local Redis。 写操作:同步路由到active Redis。 此场景下Redis之间依赖同步服务相互同步。
0.0.2:2379,127.0.0.2:2379,127.0.0.2:2379 //etcd地址, 从MAS服务实例页面查询获取 apiVersion: v3 // etcd版本,v3 username: etcduser // etcd用户名,从MAS服务实例页面查询获取
多活架构对业务是有要求的吧? 是有要求的,在应用层是需要业务做一定改造,华为侧也会提供容灾规范指导咨询等。 父主题: 多活容灾方案相关问题
Redis命令参考 MultiZoneClient集成了Redis的命令,使得在多个区域进行数据管理变得更加便捷和高效。 它提供了丰富的功能,包括数据读写、事务管理、数据类型操作等,可以满足各种复杂的业务需求。 常用命令使用方式参考如下: 1 2 3 4 5
ShedLock ShedLock是一个用于分布式任务调度的开源库。 它提供了一种简单而可靠的方式来确保在分布式环境中只有一个节点执行指定的任务。 对接ShedLock命令参考如下。 import com.huawei.devspore.mas.redis.core.MultiZoneClient;
使用ShardingSphereDataSource场景 SDK还支持使用ShardingSphereDataSource,此时,需要修改yml配置,单独将sharding配置放在yml同级目录,并在yml中设置sharding配置文件名,示例如下: 引入依赖: <dependency>
single-read-async-double-write(单边读异步双写) 另起线程进行数据同步,不能保证异步写成功、不能保证两端数据的一致性。 图1 single-read-async-double-write部署图 读写指定异步双写,适用于读多写少场景,使用SDK同步两个
SingleReadWriteClient命令参考 读命令:public<T> T executeRead(Function<RestHighLevelClient, T> command) 写命令:public<T> T executeWrite(Function<RestHighLevelClient
如何选择组件版本 MAS-Mongo-SDK 1.3.1-RELEASE springboot适用版本:2.7.0 - 2.7.2 表1 核心依赖组件版本 GroupId ArtifactId Version 备注 org.springframework spring-aspects
读命令列表 MAS-Mongo-SDK将以下mongo命令视为读命令,上述的本地读单边写和注解强制路由均根据此表来操作。 表1 读命令列表 序号 命令 描述 1. aggregate、count、distinct、mapReduce Aggregation Commands 2.
Jedis、Lettuce Jedis是一个流行的Java客户端库,用于与Redis数据库进行交互。 Lettuce 是一个可伸缩线程安全的Redis客户端,多个线程可以共享同一个 RedisConnection。 直接替换客户端命令参考如下。 import com.huawei
beego-orm 创建github.com/astaxie/beego/orm包orm.Ormer数据源,进行mysql操作。 依赖引入,配置文件或配置信息修改参考原生DB。 初始化创建beego-orm数据源DevSporeOrm,后续执行Mysql相关操作。 由于beego
非事务中使用强制路由 除了根据路由算法配置路由,SDK还支持通过注解@DynamicRoute强制指定路由,且相比路由算法,注解指定路由优先级更高。存在注解指定路由的场景下,优先根据注解指定进行路由。 注解@DynamicRoute指定路由分为两部分:source和hint,可单
single-read-write(单边读写) single-read-write场景具有以下两个特点: 读操作:同步路由到指定active的Redis;写操作:同步路由到指定active的Redis。 支持MAS动态切换激活数据源。 父主题: 使用场景
+容灾规范。 MAS产品优势如下: 业务级高可用保障。 流量、业务、数据端到端可用。 秒级RTO、RPO,保证业务连续性。 低成本容灾演练能力。 MAS核心能力包括: 端到端(管理-流量-应用-数据)仲裁和多活容灾管控。 安全可靠的数据同步管道。 可落地的多活容灾标准规范。 咨询+专业实施服务。