检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
goSource.ACTIVE, MongoSource.LOCAL。 注解@DynamicReadRoute支持在方法、类上添加。 使用示例: 在方法上添加注解: @DynamicRoute(source = MongoSource.ACTIVE) public Document
的基础上实现的支持多活容灾服务的MongoDB连接客户端,支持MongoClient和MongoTemplate两种使用方式。MAS-MongoDB-SDK的宗旨是促进开发者对于异地多活的MongoDB Server关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。 父主题:
dcx.azs信息也必须填写;如果对接MAS平台,数据中心所属AZ信息,以MAS平台上的AZs信息为准,必填。 无从库 读写分离 父主题: 使用场景
开始使用多活高可用服务 多活高可用服务(Multi-Site High Availability Service,简称MAS)源自华为消费者多活应用高可用方案,提供从流量入口、数据到应用层的端到端的业务故障切换及容灾演练能力,保障故障场景下的业务快速恢复,提升业务连续性。 使用条件
无从库 场景一: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。DCG指示当前激活的数据中心,SDK根据DCG的指示,在相应的数据中心操作,读写操作都在一边进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version:
开发简介 本文主要描述如何使用MAS-GO-SDK在多活容灾场景下对涉及Mysql的服务进行开发,结合样例讲解在开发过程中如何使用。 本文假设您已经具备如下开发能力: 熟悉Go语言,并有Go程序开发经验。 熟悉module开发模式。 熟悉Mysql的常用操作。 MAS-GO-SDK-Mysql
DSN: ""})) if err != nil { log.Fatalln(err) } } 父主题: 使用指南
log.Fatalln(err) } } 在需要执行Mysql操作的地方使用DevSporeDb执行Mysql操作,具体执行因业务各异,执行对应的sql.DB命令。 父主题: 使用指南
listCollections、listDatabases、listIndexes Administration Commands 父主题: 使用场景
依赖引入,配置文件或配置信息修改参考原生DB。 初始化创建beego-orm数据源DevSporeOrm,后续执行Mysql相关操作。 由于beego-orm需要注册使用的model,以Teacher,Student为例。 type Teacher struct { Id int Name string
读写分离 场景二: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。跟场景一类似,同样在单边进行读写,不同之处在于,场景二中存在从库,进行读写分离,写操作在主库,读操作在从库进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props:
Percentage: 20, }, }, } } 父主题: 使用指南
Percentage: 20, }, }, } } 父主题: 使用指南
读操作:同步路由到指定active的elasticsearch;写操作:同步路由到指定active的elasticsearch。 支持MAS动态切换激活数据源。 父主题: 使用场景
读操作:同步路由到指定active的Redis;写操作:同步路由到指定active的Redis。 支持MAS动态切换激活数据源。 父主题: 使用场景
无从库 场景三: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。正常场景下,不管DCG激活哪个AZ,读操作都在本地进行;只有写操作是根据DCG激活指示,在相应的AZ进行。当某AZ本地数据库故障,不可读时,读操作根据DCG激活指示。 配置如下: # 基础信息 -
读写分离 场景四: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。跟场景三不同之处在于,场景四中存在从库,进行读写分离,写操作在主库,读操作在从库进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version: v1
props、etcd配置项在MAS服务中如何查询 登录MAS控制台,进入“多活管理”页面。 在“多活管理”页面中单击对应的实例,进入实例控制台。 单击“应用列表”选择本项目应用,查看应用ID,即为props.appId。 单击“监控列表”选择本项目监控器,查看监控器ID,即为props
保证两端数据的一致性。 图1 local-read-async-double-write部署图 读写本地异步写远端,更适用于读多写少场景,使用SDK同步两个Redis,一条写命令会先进行本地Redis的执行,成功后,异步写到远端。 本地读异步双写场景具体操作: 对于用户,不感知多个Redis。
写操作:同步路由到active Redis。 此场景下Redis之间依赖同步服务相互同步。 图1 local-read-single-write部署图 父主题: 使用场景