检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 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
"gaussdb:backup:create", "rds:backup:create", "gaussdb:*:list", "rds:*:list", "ddm:instance:get"
抖动场景下,是不是会存在误切现象? 网络是有明确要求的,包括时延等,通常要求在5ms内,这些要求也会在容灾规范中承载。 针对应用和数据库探活时,不是只探活1次就切换,用户可以在界面上配置策略,比如网络情况不是很好,可以配置成间隔10s并且连续3次失败再做切换等;另外自动故障切换只切1次,回切需要在管理界面手动操作。
的,哪个是MAS提供的? 如果要做双活,什么样的服务才能做双活,是不是必须是自建云服务才能用双活方案? 当前一些用户的解决方案是如何做到数据库双写的? 多活架构对业务是有要求的吧? 当前多活容灾方案中的RPO和RTO分别是多少? 多活容灾方案对网络是不是也有要求?否则网络不稳定很
图1 single-read-async-double-write部署图 读写指定异步双写,适用于读多写少场景,使用SDK同步两个Redis,一条写命令会先在指定Redis上执行,成功后,异步写到另一端。 本地读异步双写场景具体操作: 对于用户,不感知多个Redis。 对于SDK。 读操作:同步路由到指定的Redis。
单边读写 此模式为MAS-Mongo-SDK的默认路由模式,在单边读写模式下,对Mongo的读写操作都在同一Mongo数据库(dc1或dc2)进行,通过配置文件中的active字段或MAS界面配置活跃节点来指定。(通过注解指定数据源的场景例外,注解强制指定路由见强制路由)。 配置示例:
local-read-async-double-write部署图 读写本地异步写远端,更适用于读多写少场景,使用SDK同步两个Redis,一条写命令会先进行本地Redis的执行,成功后,异步写到远端。 本地读异步双写场景具体操作: 对于用户,不感知多个Redis。 对于SDK。 读操作:同步路由到近端Redis。
换。 快速入门 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
monitorId 是 String - MAS监控组名称。 databaseName 是 String - MAS监控的Mongo数据库。 cloud 是 String - 项目部署云组。 region 是 String - 项目部署region。 azs 是 String - 项目部署AZ。
择主题,如无主题列表,单击新增,新增通知主题之后进行后续操作。 是否监控 默认“是”,选“否”则不会探测数据库异常情况。 是否自动切换 默认“是”,选“否”则不会自动切换数据库。 路由算法 选择路由算法,支持单边读写。 填写数据中心配置,完成后单击“下一步:高级配置”。 图2 新
功能介绍 资源管理 展示该应用下所有资源信息,支持根据资源名称和资源ID等进行筛选。可以对应用进行添加云服务资源、同步云服务资源、修改资源分组、删除云服务资源等操作。 评估管理 展示该应用当前的评估策略,可以对应用的评估配置信息进行编辑。 支持对应用的应用类型、评估项进行修改,同
切换监控 监控器支持手动切换和回切,若数据中心1未发生异常不建议切换到数据中心2。 约束与限制 “API监控”不支持监控切换。 业务数据库故障,触发监控器自动切换时,切换操作有10s的耗时,在这期间业务会存在中断的可能。 数据中心1异常自动触发切换后,若数据中心1恢复正常,此时监
故障注入功能是在上述模块的补充功能,可在对应服务添加故障注入配置创建带有注入故障的实例,可注入带波动的延时故障和异常故障,进行相关业务场景的模拟。 具体操作请参考Mysql配置示例和Redis配置示例。 相关配置详见配置项说明和内置注入故障。 父主题: 故障注入
实施步骤 添加数据源 创建同步链路 创建应用 创建MySQL监控 应用接入SDK 故障切换演练 父主题: 同城多活改造实践
> 账单管理”查看资源的费用账单,以了解该资源在某个时间段的使用量和计费信息。 账单上报周期 包年/包月计费模式的资源完成支付后,会实时上报一条账单到计费系统进行结算。 按需计费模式的资源按照固定周期上报使用量到计费系统进行结算。按需计费模式产品根据使用量类型的不同,分为按小时、按
网络连接异常。 IORWErr IO异常-读写关闭。 IOUEErr IO异常-意外结束。 NilPointerErr 空指针异常。 mysql SQLErr sql最顶层异常。 SQLTimeoutErr sql执行超时异常。 redis RedisCommandUKErr 未知指令异常。
setMonitorGlobalConfig 切换监控器 monitor switchMonitor 创建数据库连接池 monitor createDBConnectionPool 更新数据库连接池 monitor updateDBConnectionPool 重置机房监控 dcmonitor