检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
单击“总览”页签,查看韧性评估结果总览、未纳入资源总览、RTO/RPO评估总览。 单击“韧性评估风险项”页签,单击风险项,查看实例信息,单击“优化链接”列的链接,跳转到实例具体的修复界面。
RDS 设置云数据库RDS实例读写状态 - 开启云数据库RDS实例 - 重启云数据库RDS实例 - 倒换云数据库RDS主备 - 设置云数据库RDS实例读写状态 readonly; 文档数据库 DDS 重启文档数据库服务实例 - 云数据库 GaussDB 重启云数据库GaussDB
数据源。 router 是 RouterConfiguration 请参考RouterConfiguration数据结构说明。 路由相关配置。 chaos 否 InjectionProperties 请参考InjectionProperties数据结构说明。 故障注入相关配置。
可能导致关系型数据中心的数据丢失。 MAS 数据库状态恢复 重要 MAS服务多活管理中心MySQL/Oracle/PostgreSQL监控探测到关系型数据库实例状态恢复正常。 无。 无。
sources.ds1.jdbcUrl 数据库连接地址 空 与MAS服务中连接池中各节点下数据库连接地址一致。 sources.ds1.username 数据库用户名 空 与MAS服务中连接池中各节点下数据库用户名一致。
单边读写 这种路由算法场景下,对数据库的读写操作都只在一边(数据中心1或者数据中心2)进行,根据active指示,在相应的那边数据中心操作。(通过注解指定的场景例外,注解指定见强制路由) 路由算法不支持动态切换,更改路由算法,需要重启服务。 无从库 读写分离 父主题: 使用场景
图1 复制配置参数 此处获取的yaml配置不会携带数据库用户名密码信息,在使用时,需要补充完全(与创建MySQL监控时数据中心1和数据中心2数据库用户名和密码对应),同时还需要保证ETCD地址的可用性,再添加至项目的yaml文件。 创建多活数据源配置。
数据库访问超时时间(ms) 当“监控类型”配置为“MySQL/Oracle/PostgreSQL监控”和“MongoDB监控”时可见; 访问数据库超时时间,超过这个时间认为一次访问数据库失效。 输入值必须在3000到100000之间。 健康精度 探测的健康精度。
active数据源。
约束 MAS-Mongo-SDK的多活容灾能力需要数据同步服务和MAS DCG服务支持,SDK本身不支持数据同步,SDK本身也不支持故障动态切换数据源能力,需要配合MAS DCG服务一起使用。 版本约束 多活容灾MongoDB监控准备 父主题: MAS-Mongo-SDK使用手册
up:升为主数据库。 down:降为备数据库。 任务名称 请自定义输入任务名称。 父主题: 工作流插件说明
命名空间 空间管理 数据源 数据同步
全局配置 为监控提供密钥配置和通知配置能力,支持配置数据中心级自动切换能力。 密钥配置 机房监控通知配置 数据中心级自动切换 父主题: 监控管理
single-read-write 单读写类似于主备库,MAS监控各节点健康状态,active节点故障自动切换至其他节点,保证多活容灾能力,节点之间进行数据同步,保证数据一致。 读操作:同步路由到active的Redis。 写操作:同步路由到active的Redis。
方案架构 本实践对Demo商城的web应用和Mysql数据库进行同城多活改造。 通过MAS改造后的应用架构图如下所示: 同城多活应用场景: 适用于容灾可用性要求达到99.95%,要求业务双活的容灾场景。 同城跨AZ的应用数据多活,并分担部分业务流量。
后为必选 props: version: v1 // 项目版本号,自定义 appId: xxx // 应用ID,从MAS服务实例页面查询获取 monitorId: xxx // 监控器ID,从MAS服务实例页面查询获取 databaseName: xxx // 数据库名
MAS是否不负责数据同步,只负责应用层到数据库层访问的管控? MAS是不是相当于一个管理通道,客户需要提前在MAS中配置策略,如果出现问题,整体状态可以自动倒换? MAS仲裁自动切换的检测机制是什么?是如何做到秒级切换的?
后为必选 props: version: v1 // 项目版本号,自定义 appId: xxx // 应用ID,从MAS服务实例页面查询获取 monitorId: xxx // 监控器ID,从MAS服务实例页面查询获取 databaseName: xxx // 数据库名
单击“监控列表”,在本项目监控器所在行单击“编辑”,在“编辑监控”页面单击“连接池配置”,在“数据中心”页签下的“数据源名称”就是props.databaseName。
#项目版本号,自定义 app-id: xxxx #应用id,从MAS服务实例页面查询获取 monitor-id: xxxx #监控器id,从MAS服务实例页面查询获取MAS监控id databaseName: xxxx #MAS监控的Mongo数据库