检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
环境准备 在进行应用开发时,准备环境包括开发环境准备所示任务。 表1 开发环境准备 准备项 说明 准备操作系统 Windows系统,推荐使用Windows 7及以上版本。 安装Go 开发环境的基本配置。Go版本要求1.14.6及以上。 安装配置Goland 开发程序的工具。Goland
开发简介 本文主要描述如何使用MAS-GO-SDK在多活容灾场景下对涉及Mysql的服务进行开发,结合样例讲解在开发过程中如何使用。 本文假设您已经具备如下开发能力: 熟悉Go语言,并有Go程序开发经验。 熟悉module开发模式。 熟悉Mysql的常用操作。 MAS-GO-SDK-Mysql
产品规格差异 功能模块版本 MAS功能模块版本支持同城多活版本、异地多活版本。 同城多活版本包括如下功能点: MySQL Oracle PostgreSQL Redis MongoDB Elasticsearch OpenGauss API监控 异地多活版本包括如下功能点: MySQL
使用场景 本模块数据源创建支持single-read-write(单读写),local-read-single-write(本地读单写)2种模式,同时SDK内置实现了读写分离,可通过配置RANDOM(随机)或ROUND_ROBIN(轮询)负载均衡算法,搭配MAS可实现多活容灾;同时内置故障注入功能可创建带有注入故障的实例
使用指南 原生DB beego-orm gorm 父主题: Mysql
应用接入SDK 下载SDK至本地。 登录MAS控制台,进入“帮助中心”页面。 在“SDK下载>MySQL/Oracle/PostgreSQL”页签,选择Java语言最新版本SDK,单击“下载”。 引用依赖。 商城项目配置POM.xml文件(最外层POM文件),需要添加以下依赖: <
开发流程 开发的流程如下所示: 版本获取及引入依赖。 通过go.mod引入需要的依赖,是使用MAS-GO-SDK的基础。 配置创建数据源。 通过配置数据源驱动信息,引入MAS-GO-SDK-Mysql创建数据源。 支持以代码方式添加配置信息或者从YAML文件读取配置信息。 按需引入数据源
配置项说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration 请参考PropertiesConfiguration数据结构说明。 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
数据源 概述 MAS通过添加数据源和创建数据同步链路,来实现数据源之间的数据同步功能。数据源类型支持MySQL、PostgreSQL、Redis和OpenGauss。 约束与限制 添加MySQL、PostgreSQL数据源时,请至少配置一条链接模式为“RDS”的数据源。因为创建对应同步链路时
新创建的MySQL监控器监控状态异常怎么处理? 确认配置MySQL监控时数据库的用户名、密码、IP地址与端口、数据库名称等信息是否正确,可以编辑监控器重新配置一遍。 确认添加MySQL监控的两个数据库实例是否存在且正常启动和运行。 确认数据库实例上是否已创建好需要监控的数据库。 确认数据库实例与
通过setnx等命令实现的情况,需在方法上加注解路由指定读数据源@ReadRoute(from = RedisSource.ACTIVE)。 如使用Redisson分布式锁时需根据激活的数据源创建RedissonClient。
gorm 创建gorm.io/gorm包gorm.DB数据源,进行mysql操作。 依赖引入,配置文件或配置信息修改参考原生DB。 初始化创建gorm数据源DevSporeGorm,后续执行Mysql相关操作。 配置文件方式创建。 import ( "log" _
资源准备 mall项目对接SDK需要提前准备的资源包括: 多活实例,请参考多活管理,创建多活实例。 两个数据库,请参考购买RDS实例,购买MySQL数据库。 配置MySQL监控,请参考MySQL监控管理。 准备好上述资源后便可开始mall项目的SDK对接工作。 父主题: 商城应用改造
beego-orm 创建github.com/astaxie/beego/orm包orm.Ormer数据源,进行mysql操作。 依赖引入,配置文件或配置信息修改参考原生DB。 初始化创建beego-orm数据源DevSporeOrm,后续执行Mysql相关操作。 由于beego-orm
配置POM.xml和yaml文件 配置yaml文件 登录MAS服务控制台,在“多活管理”页面单击实例,进入实例详情控制台。 在页面顶端导航栏选择“监控列表”,单击MySQL监控所在行的“更多>SDK接入配置”,获取SDK接入配置。 此处获取的yaml配置不会携带MySQL用户名密码信息
功能模块 概述 功能模块包含用户需要开通的多活版本和功能点,包括如下功能点: MySQL Oracle PostgreSQL Redis MongoDB Elasticsearch OpenGauss API监控 约束与限制 开通对应功能点,才支持添加对应类型的数据源和创建对应类型监控
如果要做双活,什么样的服务才能做双活,是不是必须是自建云服务才能用双活方案? 不一定非得是自建云服务,当前MAS双活方案也支持第三方的Redis和MySQL等服务。 父主题: 多活容灾方案相关问题
事务中使用强制路由 SDK不支持分布式事务,事务与强制指定路由@DynamicRoute同时使用时,以第一条sql选择的数据源为准。 后续sql,即使使用@DynamicRoute指定数据源,也不生效。同一个事务中,不允许访问不同的数据库。 如下,service层的updateUser
连接和执行命令的超时时间。 maxAttempts 否 Integer 默认为5。 最大重试次数。 masterName 否 String - type选择为sentinel哨兵模式时Redis名字。 sentinelPassword 否 String - 哨兵模式的密码。
操作流程 前提条件 进行应用改造需要提前完成的事项: 已开通MAS“同城多活”版本功能模块,功能点包括“MySQL”。具体详情请参见开通功能模块。 创建好“同城多活”类型的命名空间,分区类型选择“华为云”。具体详情请参见创建命名空间。 在已创建的命名空间下购买MAS多活管理中心。具体详情请参见购买多活管理中心