检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
自定义监控器名称。 异常通知设置 默认为“关”。 若设置为“开”: 当监控器或被监控的数据库异常时会及时给用户发送异常通知或告警通知。支持华为云消息通知服务,请先配置密钥。 默认将开启云监控,请前往云监控确认是否已创建MAS事件监控告警规则,如已创建请忽略。 是否监控 默认“是”,选“否”则不会探测数据库异常情况。
ShedLock ShedLock是一个用于分布式任务调度的开源库。 它提供了一种简单而可靠的方式来确保在分布式环境中只有一个节点执行指定的任务。 对接ShedLock命令参考如下。 import com.huawei.devspore.mas.redis.core.MultiZoneClient;
使用ShardingSphereDataSource场景 SDK还支持使用ShardingSphereDataSource,此时,需要修改yml配置,单独将sharding配置放在yml同级目录,并在yml中设置sharding配置文件名,示例如下: 引入依赖: <dependency>
无从库 场景一: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。DCG指示当前激活的数据中心,SDK根据DCG的指示,在相应的数据中心操作,读写操作都在一边进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version:
单边读写 此模式为MAS-Mongo-SDK的默认路由模式,在单边读写模式下,对Mongo的读写操作都在同一Mongo数据库(dc1或dc2)进行,通过配置文件中的active字段或MAS界面配置活跃节点来指定。(通过注解指定数据源的场景例外,注解强制指定路由见强制路由)。 配置示例:
Redis命令参考 MultiZoneClient集成了Redis的命令,使得在多个区域进行数据管理变得更加便捷和高效。 它提供了丰富的功能,包括数据读写、事务管理、数据类型操作等,可以满足各种复杂的业务需求。 常用命令使用方式参考如下: 1 2 3 4 5
原生DB 创建go版本下database/sql包sql.DB数据源,进行mysql操作。 在go.mod文件中引入依赖,即引入MAS-GO-SDK。 github.com/huaweicloud/devcloud-go 结合配置项说明,添加配置文件或者配置信息。 配置文件示例config_mysql
gorm 创建gorm.io/gorm包gorm.DB数据源,进行mysql操作。 依赖引入,配置文件或配置信息修改参考原生DB。 初始化创建gorm数据源DevSporeGorm,后续执行Mysql相关操作。 配置文件方式创建。 import ( "log" _
pipeline功能使用示例 pipeline功能使用: 需要返回值示例: @Autowired private MultiZoneClient client; public void Demo() { client.executePipeline(pipeline ->
多活容灾MongoDB监控准备 在使用MAS-MongoDB-SDK进行开发前,需要先做好如下准备: 已创建MAS实例。 在实例下已创建对应的监控器。 配置多活容灾MongoDB监控,请参考MongoDB监控管理。 父主题: 约束
读写分离 场景二: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。跟场景一类似,同样在单边进行读写,不同之处在于,场景二中存在从库,进行读写分离,写操作在主库,读操作在从库进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props:
多活容灾Redis监控准备 MAS-Redis-SDK的多活容灾能力需要MAS服务支持,SDK本身也不支持故障动态切换数据源能力,需要配合MAS实例一起使用。 在使用MAS-Redis-SDK进行开发前,需要先做好如下准备: 已创建MAS实例。 在实例下已创建对应的监控器。 请参
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
DcsConnetion命令参考 DcsConnection已实现部分RedisConnection的接口。 用户有需要时可以继承重写此类方法。 常用命令使用方式参考如下: public Long append(@Nonnull byte[] key, @Nonnull byte[]
Redis配置示例 结合配置项说明,在配置文件或配置信息添加故障注入相关配置。 配置文件示例config_Redis_chaos.yaml props: version: v1 appId: xxx monitorId: xxxx cloud: xxxx region:
SpringBoot项目接入MAS-DB-SDK 引入MAS-DB-SDK组件坐标,下面version版本为最新版本,依赖组件版本参考如何选择组件版本。 <dependency> <groupId>com.huaweicloud.devspore</groupId>
事务中使用强制路由 SDK不支持分布式事务,事务与强制指定路由@DynamicRoute同时使用时,以第一条sql选择的数据源为准。 后续sql,即使使用@DynamicRoute指定数据源,也不生效。同一个事务中,不允许访问不同的数据库。 如下,service层的updateU
读命令列表 MAS-Mongo-SDK将以下mongo命令视为读命令,上述的本地读单边写和注解强制路由均根据此表来操作。 表1 读命令列表 序号 命令 描述 1. aggregate、count、distinct、mapReduce Aggregation Commands 2.
Redisson Lock Redisson是一个基于Redis的Java库,它提供了一系列的分布式对象和服务,其中包括分布式锁。 Redisson的分布式锁实现了可靠的分布式锁机制,可以在分布式环境下实现对共享资源的并发访问控制。 对接Redisson Lock命令参考如下。 import