检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
下两个特点: 读操作:同步路由到指定active的Redis;写操作:同步路由到指定active的Redis。 支持MAS动态切换激活数据源。 父主题: 使用场景
原生DB 创建go版本下database/sql包sql.DB数据源,进行mysql操作。 在go.mod文件中引入依赖,即引入MAS-GO-SDK。 github.com/huaweicloud/devcloud-go 结合配置项说明,添加配置文件或者配置信息。 配置文件示例config_mysql
过注解@DynamicReadRoute指定读操作的路由。注解@DynamicReadRoute指定路由的参数:source,用于选择数据源,可以选择对应的枚举值:MongoSource.ACTIVE, MongoSource.LOCAL。 注解@DynamicReadRoute支持在方法、类上添加。
单击“故障演练”页签,可查看执行记录。 故障演练的执行记录跟实验和实验组的执行记录不同,演练的执行记录需要在“记录组”回填响应的数据,回填的数据在大屏和演练报告会作为数据源展示出来。 单击执行记录所在行的“执行详情”,可跳转至执行详情的“执行总览”页面进行查看。单击“执行详情”页签,可查看执行详情数据。 查看执行记录
使用场景 本模块数据源创建支持single-read-write(单读写),local-read-single-write(本地读单写)2种模式,同时SDK内置实现了读写分离,可通过配置RANDOM(随机)或ROUND_ROBIN(轮询)负载均衡算法,搭配MAS可实现多活容灾;同
多活容灾Redis监控准备 MAS-Redis-SDK的多活容灾能力需要MAS服务支持,SDK本身也不支持故障动态切换数据源能力,需要配合MAS实例一起使用。 在使用MAS-Redis-SDK进行开发前,需要先做好如下准备: 已创建MAS实例。 在实例下已创建对应的监控器。 请参
确认密码 再次填写Elasticsearch的连接密码。 请确认密码正确,7.10.2及以上版本的elasticsearch,密码错误将导致数据源锁定15分钟,15分钟后监控状态才会显示正常。 填写高级配置,完成后单击“下一步:确认配置”。 图3 新增Elasticsearch监控-高级配置
Redis MongoDB Elasticsearch OpenGauss API监控 约束与限制 开通对应功能点,才支持添加对应类型的数据源和创建对应类型监控。 未开通对应功能点,在多活管理中心控制台页面,无法创建和展示对应的监控。 开通功能模块 进入开通功能模块页面。 在“开通
读写操作都在同一Mongo数据库(dc1或dc2)进行,通过配置文件中的active字段或MAS界面配置活跃节点来指定。(通过注解指定数据源的场景例外,注解强制指定路由见强制路由)。 配置示例: devspore: dds: # 基础信息 - 可选,当配置etcd后必选
多活容灾ElasticSearch监控准备 MAS-ElasticSearch-SDK的多活容灾能力需要MAS服务支持,SDK的故障动态切换数据源能力需要配合MAS实例一起使用。 在使用MAS-ElasticSearch-SDK进行开发前,需要先做好如下准备: 已创建MAS实例。 在实例下已创建对应的监控器。
操作。(本地指的是当Mongo数据源和props中所配置的AZs为同一AZ时,此Mongo数据源被视为本地) 本地读单边写模式,配置文件中props.azs信息和sources.dcx.azs信息必须填写。 如果对接MAS平台,Mongo数据源所属AZ信息,以MAS平台上的AZs信息为准,MAS平台此项选填。
“是否自动切换”配置为“关”,当MAS发生脑裂或主机房故障时,如果应用数据源正常,此时这个MAS实例下的所有监控器不会切换数据中心。通过此配置,可避免因MAS故障而导致数据中心发生不必要的切换。 “是否自动切换”配置为“开”,当MAS发生脑裂或主机房故障,或者数据源故障时,此时这个MAS实例下的监控器会根据故障切换对应的数据中心。
选择对应功能点,此命名空间下的多活实例控制台才可以创建对应类型的监控,此命名空间下才可以添加对应类型的数据源。 查看空间信息 命名空间信息页面,展示包括命名空间类型、多活管理中心、功能点、主备多活分区及其可用区、数据源和数据同步链路等信息。 登录MAS控制台,在“空间管理”页面,单击命名空间的“操作”,再单击“详情”。
新增一条同步链路。 名称 同步链路名称,默认自动生成,或者根据规划自定义填写。 源数据源 选择源数据源。源数据源的数据库实例将配置为创建DB监控数据中心1的数据库。 目标数据源 选择目标数据源。目标数据源中RDS实例中不能有新创建的数据库,否则会导致链路创建异常。 同步方案 选择数据同步方案。
router.nodes配置罗列本项目中数据源路由节点,所以上表中“ds1”为数据源路由节点名称,如果有多组数据源,按照同样的格式配置多组即可。 节点router.nodes.ds1.master下配置的源名称为“表3 sources数据源配置项”中的“sources.ds1”主节点的值。
ions.builder().build()) 此session对应的Mongo数据源为当前active数据源。所以在使用session相关的操作时,请务必保证所有操作都能路由到active数据源。 在本地读单边写模式下,如下使用方式会抛出异常:java.lang.IllegalStateException:
监控异常后根据配置信息进行相应操作。 添加数据源 在MAS服务控制台“数据管理>数据源”页面添加数据源,数据源需要归属到某个命名空间下。 创建同步链路 在MAS服务控制台“数据管理>数据同步”页面创建同步链路,实现两个相同类型数据源之间的数据同步功能;数据同步链路需要归属到某个命名空间下。
结论:数据库ds1新增“SDK-test”用户名,SDK提供的服务正常运行。 SDK切换数据源测试 验证SDK提供的切换数据源功能,可在yaml直接配置当前活跃的数据源,使用之前已注册的“SDK-test”用户名进行登录验证。 切换数据源为ds2,切换配置如下: 切换后连接数据库为ds2,管理员表其对应用户数据如下:
多活管理中心 10 系统支持的多活实例数量。 应用 200 单个实例支持的应用数量。 监控器 100 单个实例支持的监控器数量。 数据源 200 单个命名空间支持的数据源数量。 数据同步 100 单个命名空间支持的数据同步数量。
删除命名空间 namespace deleteNameSpace 添加数据源 dataSource createDataSource 编辑数据源 dataSource updateDataSource 删除数据源 dataSource deleteDataSource 创建同步链路 dataSync