检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建并管理MongoDB监控 多活高可用服务 MAS 介绍怎样创建命名空间 03:07 创建命名空间 多活高可用服务 MAS 介绍怎样创建数据源和数据同步链路 04:04 创建数据源和数据同步链路 多活高可用服务 MAS 介绍Demo应用接入SDK 05:21 Demo应用对接MAS-SDK 多活高可用服务
beego-orm 创建github.com/astaxie/beego/orm包orm.Ormer数据源,进行mysql操作。 依赖引入,配置文件或配置信息修改参考原生DB。 初始化创建beego-orm数据源DevSporeOrm,后续执行Mysql相关操作。 由于beego-orm需要注册
配置项说明 表1 InjectionProperties数据结构说明 参数名称 是否必选 参数类型 取值范围 描述 active 是 bool true/false 默认false 故障注入功能是否开启。 duration 是 int - 故障注入持续时间,单位:秒。 interval
ources数据源配置、router路由配置。 如果使用MAS服务,props配置、etcd配置则必须要配置,sources数据源配置需要与MAS服务中连接池中的命名一致。如果不对接MAS服务,props配置、etcd配置无需配置,sources数据源配置本地所用数据库即可。 下
ources数据源配置、router路由配置。 如果使用MAS服务,props配置、etcd配置则必须要配置,sources数据源配置需要与MAS服务中连接池中的命名一致。如果不对接MAS服务,props配置、etcd配置无需配置,sources数据源配置本地所用数据库即可。 下
有以下两个特点: 读操作:同步路由到指定active的Redis;写操作:同步路由到指定active的Redis。 支持MAS动态切换激活数据源。 父主题: 使用场景
除了根据路由算法配置路由,SDK还支持通过注解@DynamicReadRoute指定读操作的路由。注解@DynamicReadRoute指定路由的参数:source,用于选择数据源,可以选择对应的枚举值:MongoSource.ACTIVE, MongoSource.LOCAL。 注解@DynamicReadRoute支持在方法、类上添加。
读操作:同步路由到指定active的elasticsearch;写操作:同步路由到指定active的elasticsearch。 支持MAS动态切换激活数据源。 父主题: 使用场景
原生DB 创建go版本下database/sql包sql.DB数据源,进行mysql操作。 在go.mod文件中引入依赖,即引入MAS-GO-SDK。 github.com/huaweicloud/devcloud-go 结合配置项说明,添加配置文件或者配置信息。 配置文件示例config_mysql
local-read-async-double-write(本地读异步双写) 另起线程进行数据同步,不能保证异步写成功、不能保证两端数据的一致性。 图1 local-read-async-double-write部署图 读写本地异步写远端,更适用于读多写少场景,使用SDK同步两个
single-read-write 单读写类似于主备库,MAS监控各节点健康状态,active节点故障自动切换至其他节点,保证多活容灾能力,节点之间用DRS进行数据同步,保证数据一致。 读操作:同步路由到active的mysql。 写操作:同步路由到active的mysql。 local-read-single-write
single-read-async-double-write(单边读异步双写) 另起线程进行数据同步,不能保证异步写成功、不能保证两端数据的一致性。 图1 single-read-async-double-write部署图 读写指定异步双写,适用于读多写少场景,使用SDK同步两个
Jedis、Lettuce Jedis是一个流行的Java客户端库,用于与Redis数据库进行交互。 Lettuce 是一个可伸缩线程安全的Redis客户端,多个线程可以共享同一个 RedisConnection。 直接替换客户端命令参考如下。 import com.huawei
默认“是”,选“否”则不会探测数据库异常情况。 是否自动切换 默认“是”,选“否”则不会自动切换数据库。 路由算法 选择路由算法,支持单边读写。 填写数据中心配置,完成后单击“下一步:高级配置”。 图2 新增Elasticsearch监控-数据中心配置 表3 数据中心配置信息 参数 配置说明
G指示激活为AZ2。正常场景下,不管DCG激活哪个AZ,读操作都在本地进行;只有写操作是根据DCG激活指示,在相应的AZ进行。当某AZ本地数据库故障,不可读时,读操作根据DCG激活指示。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version:
路由算法。 active 是 String 只能是“dc1”或“dc2” 激活的Redis。 表2 PropertiesConfiguration数据结构说明 参数名称 是否必选 参数类型 取值范围 描述 version 是 String - 项目版本号。 appId 是 String -
进行操作。(本地指的是当Mongo数据源和props中所配置的AZs为同一AZ时,此Mongo数据源被视为本地) 本地读单边写模式,配置文件中props.azs信息和sources.dcx.azs信息必须填写。 如果对接MAS平台,Mongo数据源所属AZ信息,以MAS平台上的AZs信息为准,MAS平台此项选填。
source用于选择数据中心,可以填“dc1”/“dc2”/“ACTIVE”。填“dc1”时,则强制路由到dc1数据中心,不管此时的路由算法为哪种,也不管sql类型是读还是写;同理,填“dc2”时,强制路由到dc2数据中心;比较特殊的是“ACTIVE”,此时路由到active指示的数据中心,同
MAS-Mongo-SDK版本变更 开发语言 版本及下载地址 变更描述 Java v 1.2.0-RELEASE 初次发布。 Java v 1.2.1-RELEASE 修复一些问题。 Java v 1.2.2-RELEASE 修复一些问题。 表4 MAS-GO-SDK版本变更 开发语言 版本及下载地址 变更描述
当前一些用户的解决方案是如何做到数据库双写的? 数据同步是通过DRS去做的,让业务去集成MAS SDK分别往两边数据库去同步。 父主题: 多活容灾方案相关问题