检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用场景 MAS-Mongo-SDK提供多活容灾能力。 多活容灾能力是指在同城场景下实现多活故障自动切换,由SDK和MAS DCG服务配合完成。 MAS-Mongo-SDK支持单边读写和本地读单边写两种模式,默认为单边读写模式。 单边读写 本地读单边写 强制路由 读命令列表 父主题
本地读单边写 本地读单边写模式应在配置文件中配置routeStrategy为"local-read-single-write"。在这种路由模式下,读操作在本地进行,不受MAS指示的活跃节点影响。根据配置文件中的AZ信息判断本地属于哪个AZ,读操作时从本地AZ进行读取,写操作仍然根据
本地读单边写 这种路由算法场景下,读操作在本地进行,不受DCG指示的active影响。根据配置文件中的AZ信息判断本地属于哪个AZ,读操作时从本地AZ进行读取,写操作仍然根据DCG指示的active进行操作。 本地读单边写策略,配置文件中props.azs信息必须填写,根据实际所属
无从库 场景三: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。正常场景下,不管DCG激活哪个AZ,读操作都在本地进行;只有写操作是根据DCG激活指示,在相应的AZ进行。当某AZ本地数据库故障,不可读时,读操作根据DCG激活指示。 配置如下: # 基础信息 -
读写分离 场景四: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。跟场景三不同之处在于,场景四中存在从库,进行读写分离,写操作在主库,读操作在从库进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version: v1
local-read-async-double-write(本地读异步双写) 另起线程进行数据同步,不能保证异步写成功、不能保证两端数据的一致性。 图1 local-read-async-double-write部署图 读写本地异步写远端,更适用于读多写少场景,使用SDK同步两个Redis
local-read-single-write(本地读单边写) 本地读异步双写场景具体操作: 对于用户,不感知多个Redis。 对于SDK 读操作:同步路由到local Redis。 写操作:同步路由到active Redis。 此场景下Redis之间依赖同步服务相互同步。 图1
文档中关于SDK对应yaml配置文件的获取方式 进入MAS实例控制台“监控列表”页面。 单击“更多 > SDK接入配置”。 复制配置参数。 MAS端配置与本地配置不一致时,哪一个生效? 答:MAS端配置与本地配置,MAS端配置覆盖本地配置,MAS端配置生效。 父主题: 常见问题
MongoDB监控管理 概述 MongoDB监控器可对用户业务使用的MongoDB数据库进行探测,并且在数据库异常时自动触发流量切换。 表1 监控状态说明 监控状态 状态说明 绿色 监控正常。 红色 监控异常。从正常到异常,在允许自动切换的情况下,自动触发流量切换。 黄色 初始化监控失败
使用场景 本模块客户端创建支持single-read-write(单读写),local-read-single-write(本地读单写),double-write(本地读双写)3种模式,其中Redis节点可配置cluster(集群), master-slave(主从), normal
读命令列表 MAS-Mongo-SDK将以下mongo命令视为读命令,上述的本地读单边写和注解强制路由均根据此表来操作。 表1 读命令列表 序号 命令 描述 1. aggregate、count、distinct、mapReduce Aggregation Commands 2.
环境约束 安装的工具包括JDK、Maven、IDEA ,配置对应的环境变量,确保本地开发环境可用。 使用MAS-DB-SDK组件需具备一定的Java后端、持久层框架集成等知识。 准备项 说明 准备操作系统 Windows系统。Windows版本要求:Windows 7及以上版本。
应用接入SDK 下载SDK至本地。 登录MAS控制台,进入“帮助中心”页面。 在“SDK下载>MySQL/Oracle/PostgreSQL”页签,选择Java语言最新版本SDK,单击“下载”。 引用依赖。 商城项目配置POM.xml文件(最外层POM文件),需要添加以下依赖: <
使用场景 本模块数据源创建支持single-read-write(单读写),local-read-single-write(本地读单写)2种模式,同时SDK内置实现了读写分离,可通过配置RANDOM(随机)或ROUND_ROBIN(轮询)负载均衡算法,搭配MAS可实现多活容灾;同时内置故障注入功能可创建带有注入故障的实例
准备资源 概述 在使用边缘版多活实例前,需要准备虚拟机资源、安装Docker、挂载磁盘,以及检查虚拟机与MAS侧的端口是否连通。 虚拟机资源准备有以下两种场景,您可以根据实际场景准备虚拟机资源。 首次创建多活实例,需要根据MAS实例资源要求申请新的虚拟机。 在已创建过多活实例且实例已删除的虚拟机上重新创建多活实例
SDK相关功能验证 完成SDK对接,并成功运行后,需要测试SDK功能是否正常实现(由于在本地环境,暂时连接不了ETCD实现自动切换,切换操作由手动实现,同时由于测试需要,本演示项目在前端添加了一个“注册管理员”按钮用于注册管理员)。 数据库查询:数据库查询的表为管理员表 ,位于demo-mall
single-read-async-double-write(单边读异步双写) 另起线程进行数据同步,不能保证异步写成功、不能保证两端数据的一致性。 图1 single-read-async-double-write部署图 读写指定异步双写,适用于读多写少场景,使用SDK同步两个Redis
Kubernetes集群 工作负载类 表1 工作负载类参数配置 故障类型 故障模式 设置参数 CPU 工作负载CPU过载 cluster_name ;namespace ;workload_name ;usage 内存 工作负载内存过载 cluster_name ;namespace
配置参数说明 表1 配置参数详解 参数名称 是否必选 参数类型 取值范围 描述 props 否 PropertiesConfiguration object 请参考表2 PropertiesConfiguration数据结构说明 MAS监控配置,配合etcd使用。 etcd 否 EtcdConfiguration
基础设施类故障 服务器硬件类 表1 服务器硬件类参数配置 故障类型 故障模式 设置参数 CPU CPU过载 usage 内存 内存过载 usage 磁盘 磁盘分区满 disk;usage 磁盘IO高 disk;usage 网卡 网卡down dev_name 网络通信类 表2 网络通信类参数配置