检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本手册基于一个GitHub上的商城应用改造实践,介绍如何基于MAS将应用改造为同城多活架构的过程。 方案架构 本实践对Demo商城的web应用和Mysql数据库进行同城多活改造。 通过MAS改造后的应用架构图如下所示: 同城多活应用场景: 适用于容灾可用性要求达到99.95%,要求业务双活的容灾场景。
topic Java进程访问Mysql网络延迟 process ;delayTime ;database;host ;port ;table ;sqltype Java进程访问Mysql抛自定义异常 process ;exception ;database;host ;port ;table
换。 快速入门 MAS入门简介 使用MAS实现MySQL容灾切换 使用MAS实现Redis容灾切换 使用MAS实现MongoDB容灾切换 使用MAS实现API异常监控 05 开发 描述如何使用Mas-SDK在多活容灾场景下对涉及数据库服务进行开发,结合样例讲解在开发过程中如何使用SDK。
选择被监控的MongoDB数据库部署的环境。 局点 根据步骤一:准备MongoDB数据库中创建的MongoDB数据库选择的区域。 连接地址 根据步骤一:准备MongoDB数据库中创建的MongoDB数据库的访问地址和端口。 填写数据库配置,此处需要配置为步骤一:准备MongoDB数据库中配置的数
故障注入功能是在上述模块的补充功能,可在对应服务添加故障注入配置创建带有注入故障的实例,可注入带波动的延时故障和异常故障,进行相关业务场景的模拟。 具体操作请参考Mysql配置示例和Redis配置示例。 相关配置详见配置项说明和内置注入故障。 父主题: 故障注入
实施步骤 添加数据源 创建同步链路 创建应用 创建MySQL监控 应用接入SDK 故障切换演练 父主题: 同城多活改造实践
的,哪个是MAS提供的? 如果要做双活,什么样的服务才能做双活,是不是必须是自建云服务才能用双活方案? 当前一些用户的解决方案是如何做到数据库双写的? 多活架构对业务是有要求的吧? 当前多活容灾方案中的RPO和RTO分别是多少? 多活容灾方案对网络是不是也有要求?否则网络不稳定很
时,以第一条sql选择的数据源为准。 后续sql,即使使用@DynamicRoute指定数据源,也不生效。同一个事务中,不允许访问不同的数据库。 如下,service层的updateUser方法,开启了事务,并且里面有两个接口,第一个userReopository2上指定路由“d
MAS多活管理切换/回切 概述 “MAS多活管理切换/回切”插件用于配置MAS多活管理中心的数据库监控进行切换/回切数据中心操作。 配置介绍 表1 配置说明 参数 配置说明 多活管理中心 选择多活管理中心。 监控类型 选择监控类型。 监控 选择监控。 操作 配置监控操作。 切换:切换数据中心。
约束与限制 “API监控”不支持监控切换。 业务数据库故障,触发监控器自动切换时,切换操作有10s的耗时,在这期间业务会存在中断的可能。 数据中心1异常自动触发切换后,若数据中心1恢复正常,此时监控器无法自动回切数据中心1,需要手动单击监控所在行的“回切”按钮从数据中心2切换回数据中心1;
编辑监控 如果您想更换监控器已监控的数据库信息,可以通过修改监控器的配置信息来完成,但是不支持修改监控器类型、应用名称、监控器名称。 操作步骤 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“监控列表”。 单击监控所在行的“编辑”。 在“编辑
网络是有明确要求的,包括时延等,通常要求在5ms内,这些要求也会在容灾规范中承载。 针对应用和数据库探活时,不是只探活1次就切换,用户可以在界面上配置策略,比如网络情况不是很好,可以配置成间隔10s并且连续3次失败再做切换等;另外自动故障切换只切1次,回切需要在管理界面手动操作。 父主题: 多活容灾方案相关问题
setMonitorGlobalConfig 切换监控器 monitor switchMonitor 创建数据库连接池 monitor createDBConnectionPool 更新数据库连接池 monitor updateDBConnectionPool 重置机房监控 dcmonitor
单边读写 这种路由算法场景下,对数据库的读写操作都只在一边(数据中心1或者数据中心2)进行,根据active指示,在相应的那边数据中心操作。(通过注解指定的场景例外,注解指定见强制路由) 路由算法不支持动态切换,更改路由算法,需要重启服务。 无从库 读写分离 父主题: 使用场景
通知主题 若异常通知设置选择“开”,则需要在通知主题列表选择主题,如无主题列表,单击新增,新增通知主题之后进行后续操作。 是否监控 默认“是”,选“否”则不会探测数据库异常情况。 是否自动切换 默认“是”,选“否”则不会自动切换数据库。 路由算法 选择路由算法,支持单边读写。
#监控器id,从MAS服务实例页面查询获取MAS监控id databaseName: xxxx #MAS监控的Mongo数据库 cloud: xxxx region: xxxx azs: az1 # etcd配置,对接MAS服务关键配置,如不对接MAS则无需配置
使用委托时:凭证ID/委托项目ID需要同时填写。 委托项目ID (可选)配置委托项目ID。 实例ID 配置RDS实例ID。 结果处理 配置重启失败后继续执行的操作。 fail_to_stop:表示失败停止。 fail_to_continue:表示失败继续。 跨账号执行RDS任务 当前账号通过“RDS实例重启
使用委托时:凭证ID/委托项目ID需要同时填写。 委托项目ID (可选)配置委托项目ID。 实例ID 输入RDS实例ID。 参数 单击,输入Key和Value。 任务名称 请自定义输入任务名称。 跨账号执行RDS任务 当前账号通过“RDS修改实例参数”插件执行其他账号下的RDS任务时,需要提前创建委托和创建凭证,其步骤如下:
Jedis、Lettuce Jedis是一个流行的Java客户端库,用于与Redis数据库进行交互。 Lettuce 是一个可伸缩线程安全的Redis客户端,多个线程可以共享同一个 RedisConnection。 直接替换客户端命令参考如下。 import com.huawei
任务名称 请自定义输入任务名称。 跨账号执行RDS任务 当前账号通过“RDS检查容灾复制状态”插件执行其他账号下的RDS任务时,需要提前创建委托和创建凭证,其步骤如下: 委托方账号创建委托并授权,授予被委托账号所需IAM和RDS的权限。 IAM所需最小权限策略如下: { "Version":