检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开发简介 本文主要描述如何使用MAS-GO-SDK在多活容灾场景下对涉及Mysql的服务进行开发,结合样例讲解在开发过程中如何使用。 本文假设您已经具备如下开发能力: 熟悉Go语言,并有Go程序开发经验。 熟悉module开发模式。 熟悉Mysql的常用操作。 父主题: 概述
客户各场景替换方案 Jedis、Lettuce spring-boot-data-Redis ShedLock Redisson Lock 自定义DcsConnection 父主题: MAS-Redis-SDK使用手册
配置参数说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration object 请参考表2 PropertiesConfiguration数据结构说明 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
使用限制 session使用 仅支持通过以下接口获取session: com.huawei.devspore.mas.mongo.core.client.Cluster.startSession() com.huawei.devspore.mas.mongo.core.client.Cluster.startSession
单边读写 这种路由算法场景下,对数据库的读写操作都只在一边(数据中心1或者数据中心2)进行,根据active指示,在相应的那边数据中心操作。(通过注解指定的场景例外,注解指定见强制路由) 路由算法不支持动态切换,更改路由算法,需要重启服务。 无从库 读写分离 父主题: 使用场景
配置项说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration 请参考PropertiesConfiguration数据结构说明。 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
多活容灾监控准备 请参考MySQL/Oracle/PostgreSQL监控管理,配置多活容灾MySQL/Oracle/PostgreSQL监控。 父主题: 约束
无从库 场景一: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。DCG指示当前激活的数据中心,SDK根据DCG的指示,在相应的数据中心操作,读写操作都在一边进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version:
SingleReadWriteClient命令参考 读命令:public<T> T executeRead(Function<RestHighLevelClient, T> command) 写命令:public<T> T executeWrite(Function<RestHighLevelClient
使用多数据源 上面的方式都是只引入一个数据源,在某些场景下,需要引入多个数据库,操作不同的数据库,此时,可以通过配置不同前缀来注入多个datasource的bean,方法如下: 引入依赖。 <dependency> <groupId>com.huaweicloud.devspore
如何选择组件版本 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[] value); public
新创建的MySQL监控器监控状态异常怎么处理? 确认配置MySQL监控时数据库的用户名、密码、IP地址与端口、数据库名称等信息是否正确,可以编辑监控器重新配置一遍。 确认添加MySQL监控的两个数据库实例是否存在且否正常启动和运行。 确认数据库实例上是否已创建好需要监控的数据库。
分布式锁场景最佳实践 分布式锁场景需根据所选取的路由模式来选择合适的策略。 路由模式为single-read-write, single-read-async-double-write时 由于读写都在同一边,分布式锁不受影响。 路由模式为local-read-single-write
Spring Data ElasticSearch接入 接入流程同上。 父主题: MAS-ElasticSearch-SDK使用手册
创建多活实例后实例状态显示为“创建异常”可能是什么原因? 创建多活实例后实例状态显示为“创建异常”,并给出相关的错误提示,提示信息及对应原因如下: the added number of cpu [1] above left profit [0]:CPU核心数资源耗尽。 Flavor
读命令列表 MAS-Mongo-SDK将以下mongo命令视为读命令,上述的本地读单边写和注解强制路由均根据此表来操作。 表1 读命令列表 序号 命令 描述 1. aggregate、count、distinct、mapReduce Aggregation Commands 2.
pipeline功能使用示例 pipeline功能使用: 需要返回值示例: @Autowired private MultiZoneClient client; public void Demo() { client.executePipeline(pipeline ->
原生DB 创建go版本下database/sql包sql.DB数据源,进行mysql操作。 在go.mod文件中引入依赖,即引入MAS-GO-SDK。 github.com/huaweicloud/devcloud-go 结合配置项说明,添加配置文件或者配置信息。 配置文件示例config_mysql.yaml
读写分离 场景二: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。跟场景一类似,同样在单边进行读写,不同之处在于,场景二中存在从库,进行读写分离,写操作在主库,读操作在从库进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: