检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
强制路由 除了根据路由算法配置路由,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
Jedis、Lettuce Jedis是一个流行的Java客户端库,用于与Redis数据库进行交互。 Lettuce 是一个可伸缩线程安全的Redis客户端,多个线程可以共享同一个 RedisConnection。 直接替换客户端命令参考如下。 import com.huawei.devspore.mas.redis.adapter.model.SetParams
读命令列表 MAS-Mongo-SDK将以下mongo命令视为读命令,上述的本地读单边写和注解强制路由均根据此表来操作。 表1 读命令列表 序号 命令 描述 1. aggregate、count、distinct、mapReduce Aggregation Commands 2.
Mysql配置示例 结合配置项说明,在配置文件或配置信息添加故障注入相关配置。 配置文件示例config_mysql_chaos.yaml props: version: v1 appId: xxx monitorId: xxxx databaseName: xxxx
Spring项目接入MAS-DB-SDK 引入MAS-DB-SDK组件坐标,下面version版本为最新版本,依赖组件版本参考如何选择组件版本。 <dependency> <groupId>com.huaweicloud.devspore</groupId> <artifactId
本地读单边写 这种路由算法场景下,读操作在本地进行,不受DCG指示的active影响。根据配置文件中的AZ信息判断本地属于哪个AZ,读操作时从本地AZ进行读取,写操作仍然根据DCG指示的active进行操作。 本地读单边写策略,配置文件中props.azs信息必须填写,根据实际所属
pipeline功能使用示例 pipeline功能使用: 需要返回值示例: @Autowired private MultiZoneClient client; public void Demo() { client.executePipeline(pipeline ->
ShedLock ShedLock是一个用于分布式任务调度的开源库。 它提供了一种简单而可靠的方式来确保在分布式环境中只有一个节点执行指定的任务。 对接ShedLock命令参考如下。 import com.huawei.devspore.mas.redis.core.MultiZoneClient
多活容灾Redis监控准备 MAS-Redis-SDK的多活容灾能力需要MAS服务支持,SDK本身也不支持故障动态切换数据源能力,需要配合MAS实例一起使用。 在使用MAS-Redis-SDK进行开发前,需要先做好如下准备: 已创建MAS实例。 在实例下已创建对应的监控器。 请参考
本地读单边写 本地读单边写模式应在配置文件中配置routeStrategy为"local-read-single-write"。在这种路由模式下,读操作在本地进行,不受MAS指示的活跃节点影响。根据配置文件中的AZ信息判断本地属于哪个AZ,读操作时从本地AZ进行读取,写操作仍然根据
Redisson Lock Redisson是一个基于Redis的Java库,它提供了一系列的分布式对象和服务,其中包括分布式锁。 Redisson的分布式锁实现了可靠的分布式锁机制,可以在分布式环境下实现对共享资源的并发访问控制。 对接Redisson Lock命令参考如下。 import
使用ShardingSphereDataSource场景 SDK还支持使用ShardingSphereDataSource,此时,需要修改yml配置,单独将sharding配置放在yml同级目录,并在yml中设置sharding配置文件名,示例如下: 引入依赖: <dependency
无从库 场景一: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。DCG指示当前激活的数据中心,SDK根据DCG的指示,在相应的数据中心操作,读写操作都在一边进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version:
什么是多活高可用服务 企业在应用发展的过程中会面临诸多难题,如: 使用单个AZ/Region无法满足高可靠诉求; 系统容量达到瓶颈或者访问时延无法达到要求; 云厂商技术绑定,无法获得先进技术和价格优势; 业务爆炸式增长带来的技术瓶颈。 多活高可用服务(Multi-Site High
single-read-write(单边读写) single-read-write场景具有以下两个特点: 读操作:同步路由到指定active的Redis;写操作:同步路由到指定active的Redis。 支持MAS动态切换激活数据源。 父主题: 使用场景
Spring项目接入MAS-Redis-SDK 引入依赖。 组件版本version使用最新版本,版本的获取参考MAS-SDK版本。 <dependency> <groupId>com.huaweicloud.devspore</groupId> <artifactId
spring-boot-data-redis RedisTemplate RedisTemplate是Spring Data Redis提供的一个用于操作Redis的模板类。 它封装了对Redis的常见操作,如存储、读取、删除等,简化了与Redis交互的过程。 对接RedisTemplate
Spring项目接入MAS-Mongo-SDK MAS-Mongo-SDK使用Maven获取相关依赖,根据实际情况设置Maven远程仓库地址等相关配置。 在pom.xml文件中引入如下依赖,下面mas.version版本为最新版本,依赖组件版本参考如何选择组件版本。 <properties
运行MAS-DB-SDK问题参考 根据上述步骤配置MAS-DB-SDK后,确认相关配置信息都已包含且有效,运行项目可能会遇到一些问题,主要的问题及其相关解决过程如下: Logback-classic及log4j-to-slf4j的包冲突问题。 关键错误信息如下所示: 出现原因: 对接