检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本手册基于一个GitHub上的商城应用改造实践,介绍如何基于MAS将应用改造为同城多活架构的过程。 方案架构 本实践对Demo商城的web应用和Mysql数据库进行同城多活改造。 通过MAS改造后的应用架构图如下所示: 同城多活应用场景: 适用于容灾可用性要求达到99.95%,要求业务双活的容灾场景。
Jedis、Lettuce Jedis是一个流行的Java客户端库,用于与Redis数据库进行交互。 Lettuce 是一个可伸缩线程安全的Redis客户端,多个线程可以共享同一个 RedisConnection。 直接替换客户端命令参考如下。 import com.huawei
编辑监控 如果您想更换监控器已监控的数据库信息,可以通过修改监控器的配置信息来完成,但是不支持修改监控器类型、应用名称、监控器名称。 操作步骤 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“监控列表”。 单击监控所在行的“编辑”。 在“编辑
换。 快速入门 MAS入门简介 使用MAS实现MySQL容灾切换 使用MAS实现Redis容灾切换 使用MAS实现MongoDB容灾切换 使用MAS实现API异常监控 05 开发 描述如何使用Mas-SDK在多活容灾场景下对涉及数据库服务进行开发,结合样例讲解在开发过程中如何使用SDK。
from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping
topic Java进程访问Mysql网络延迟 process ;delayTime ;database;host ;port ;table ;sqltype Java进程访问Mysql抛自定义异常 process ;exception ;database;host ;port ;table
sources.ds1 数据库节点名称:ds1 空 与MAS服务中连接池中的命名一致。 sources.ds1.driverClassName 数据库驱动类名 空 驱动名称,自定义。 sources.ds1.jdbcUrl 数据库连接地址 空 与MAS服务中连接池中各节点下数据库连接地址一致。
单边读写 此模式为MAS-Mongo-SDK的默认路由模式,在单边读写模式下,对Mongo的读写操作都在同一Mongo数据库(dc1或dc2)进行,通过配置文件中的active字段或MAS界面配置活跃节点来指定。(通过注解指定数据源的场景例外,注解强制指定路由见强制路由)。 配置示例:
实施步骤 添加数据源 创建同步链路 创建应用 创建MySQL监控 应用接入SDK 故障切换演练 父主题: 同城多活改造实践
使用指南 Mysql配置示例 Redis配置示例 父主题: 故障注入
MAS-GO-SDK使用手册 Mysql Redis 故障注入
的,哪个是MAS提供的? 如果要做双活,什么样的服务才能做双活,是不是必须是自建云服务才能用双活方案? 当前一些用户的解决方案是如何做到数据库双写的? 多活架构对业务是有要求的吧? 当前多活容灾方案中的RPO和RTO分别是多少? 多活容灾方案对网络是不是也有要求?否则网络不稳定很
监控管理 MySQL/Oracle/PostgreSQL监控管理 Redis监控管理 MongoDB监控管理 Elasticsearch监控管理 DDM监控管理 API监控管理 监控通用操作 全局配置
商城应用改造 应用场景 资源准备 配置POM.xml和yaml文件 依赖冲突问题修复 SDK相关功能验证 MySQL监控切换验证
setMonitorGlobalConfig 切换监控器 monitor switchMonitor 创建数据库连接池 monitor createDBConnectionPool 更新数据库连接池 monitor updateDBConnectionPool 重置机房监控 dcmonitor
切换监控 监控器支持手动切换和回切,若数据中心1未发生异常不建议切换到数据中心2。 约束与限制 “API监控”不支持监控切换。 业务数据库故障,触发监控器自动切换时,切换操作有10s的耗时,在这期间业务会存在中断的可能。 数据中心1异常自动触发切换后,若数据中心1恢复正常,此时监
同步链路名称,默认自动生成,或者根据规划自定义填写。 源数据源 选择源数据源。源数据源的数据库实例将配置为创建DB监控数据中心1的数据库。 目标数据源 选择目标数据源。目标数据源中RDS实例中不能有新创建的数据库,否则会导致链路创建异常。 同步方案 选择数据同步方案。 同步方向 选择同步方向,本实践配置“单向”。
开通的功能模块删除时失败是什么原因? 绑定命名空间的实例,是否可以更改命名空间? 创建多活实例后实例状态显示为“创建异常”可能是什么原因? 新创建的MySQL监控器监控状态异常怎么处理? 创建同步链路时链路状态显示为“创建异常”怎么处理?
或网络抖动场景下,是不是会存在误切现象? 网络是有明确要求的,包括时延等,通常要求在5ms内,这些要求也会在容灾规范中承载。 针对应用和数据库探活时,不是只探活1次就切换,用户可以在界面上配置策略,比如网络情况不是很好,可以配置成间隔10s并且连续3次失败再做切换等;另外自动故障
网络连接异常。 IORWErr IO异常-读写关闭。 IOUEErr IO异常-意外结束。 NilPointerErr 空指针异常。 mysql SQLErr sql最顶层异常。 SQLTimeoutErr sql执行超时异常。 redis RedisCommandUKErr 未知指令异常。