主机房 机房信息,选择华为云或第三方数据中心为主机房。 开启双向认证 ETCD双向认证,默认开启。 注意: 关闭双向认证有风险,请谨慎操作。 多活管理中心名称 填写多活管理中心名称,根据规划自定义。 描述 填写多活管理中心的描述信息。
支持华为云消息通知服务,请先配置密钥。 通知主题 若异常通知设置选择“开”,则需要在通知主题列表选择主题,如无主题列表,单击新增,新增通知主题之后进行后续操作。 是否监控 默认“是”,选“否”则不会探测数据库异常情况。 是否自动切换 默认“是”,选“否”则不会自动切换数据库。
使用场景 本模块数据源创建支持single-read-write(单读写),local-read-single-write(本地读单写)2种模式,同时SDK内置实现了读写分离,可通过配置RANDOM(随机)或ROUND_ROBIN(轮询)负载均衡算法,搭配MAS可实现多活容灾;同时内置故障注入功能可创建带有注入故障的实例
多活容灾Redis监控准备 MAS-Redis-SDK的多活容灾能力需要MAS服务支持,SDK本身也不支持故障动态切换数据源能力,需要配合MAS实例一起使用。 在使用MAS-Redis-SDK进行开发前,需要先做好如下准备: 已创建MAS实例。 在实例下已创建对应的监控器。
支持华为云消息通知服务,请先配置密钥。 默认将开启云监控,请前往云监控确认是否已创建MAS事件监控告警规则,如已创建请忽略。 是否监控 默认“是”,选“否”则不会探测数据库异常情况。 是否自动切换 默认“是”,选“否”则不会自动切换数据库。 监控用户名 被监控的数据库的用户名。
(通过注解指定数据源的场景例外,注解强制指定路由见强制路由)。
多活容灾ElasticSearch监控准备 MAS-ElasticSearch-SDK的多活容灾能力需要MAS服务支持,SDK的故障动态切换数据源能力需要配合MAS实例一起使用。
当开通的功能模块下存在依赖的多活实例和数据源资源时,无法删除该功能模块。
如果两个Mongo数据源的AZ信息与props.azs均相同,则会随机选取其中一个作为本地数据源进行读操作,所以需要尽量保证两个Mongo数据源的AZ信息,一个与props.azs相同,一个不同。
“是否自动切换”配置为“开”,当MAS发生脑裂或主机房故障,或者数据源故障时,此时这个MAS实例下的监控器会根据故障切换对应的数据中心。
源数据源 选择源数据源。源数据源的数据库实例将配置为创建DB监控数据中心1的数据库。 目标数据源 选择目标数据源。目标数据源中RDS实例中不能有新创建的数据库,否则会导致链路创建异常。 同步方案 选择数据同步方案。 同步方向 选择同步方向,本实践配置“单向”。
router.nodes配置罗列本项目中数据源路由节点,所以上表中“ds1”为数据源路由节点名称,如果有多组数据源,按照同样的格式配置多组即可。
active数据源。
SDK切换数据源测试 验证SDK提供的切换数据源功能,可在yaml直接配置当前活跃的数据源,使用之前已注册的“SDK-test”用户名进行登录验证。
数据源 200 单个命名空间支持的数据源数量。 数据同步 100 单个命名空间支持的数据同步数量。
dataSource createDataSource 编辑数据源 dataSource updateDataSource 删除数据源 dataSource deleteDataSource 创建同步链路 dataSync createDataSyncTask 删除同步链路 dataSync
创建多活数据源配置。 获取SDK接入配置后,将相关信息添加完毕,找到项目对应的yaml文件,将相关信息添到商城项目的yaml文件,并且进行修改。由于商城后台项目自带springboot-dataSource,需要将其删除替换。
出现原因: SpringBoot自带原生数据源,相关数据源的查找是由SpringBoot自动查找并注入,但是YAML件中将SDK提供的数据源替换SpringBoot提供的spring-dataSource后,相关依赖包无法找到数据源配置。
创建ETCD client success且数据源初始化成功: 程序运行成功: 父主题: 商城应用改造
etcdpwd // etcd密码,从MAS服务实例页面查询获取 httpsEnable: false // 是否启用https certificatePath: xxx // 启用https时证书路径,实例未开启双向认证或不启用https场景,该配置可以不填 # 数据源配置
您即将访问非华为云网站,请注意账号财产安全