检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本手册基于一个GitHub上的商城应用改造实践,介绍如何基于MAS将应用改造为同城多活架构的过程。 方案架构 本实践对Demo商城的web应用和Mysql数据库进行同城多活改造。 通过MAS改造后的应用架构图如下所示: 同城多活应用场景: 适用于容灾可用性要求达到99.95%,要求业务双活的容灾场景。
"gaussdb:backup:create", "rds:backup:create", "gaussdb:*:list", "rds:*:list", "ddm:instance:get"
此处以在华为云购买Redis为例,建议将两个数据库部署在同一Region下不同的可用区,以提供不同功能可用区之间的故障转移能力和高可用性。 请参考购买Redis实例,准备Redis数据库。 请参考如何配置安全组,配置安全组规则。开放Redis数据库的默认端口6379。 步骤二:创建MAS应用
的,哪个是MAS提供的? 如果要做双活,什么样的服务才能做双活,是不是必须是自建云服务才能用双活方案? 当前一些用户的解决方案是如何做到数据库双写的? 多活架构对业务是有要求的吧? 当前多活容灾方案中的RPO和RTO分别是多少? 多活容灾方案对网络是不是也有要求?否则网络不稳定很
云原生 容器 容灾演练 数据库 网络 虚机 描述 输入故障场景描述。 在“场景编排”区域中,单击“添加步骤”,选择故障类型,可选择“主机”或“K8S”两种类型。 多个步骤之间是串行的关系。每个步骤里面可添加并行故障。最多可添加10步,每一步最多添加10个实验,不同故障类型的实验不允许互相拖动。
from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping
命名空间,用于逻辑隔离不同的资源。一般推荐按照企业的系统划分,比如OA系统,支付系统等可以各建一个命名空间。 实例 MAS向用户提供服务的最小资源单位。 购买一个多活管理中心即创建一个多活实例,多活实例是一个独立的资源空间,所有的操作都是在实例内进行,不同实例间的资源相互隔离。您可以根据业务需要使用一个或多个实例。
或网络抖动场景下,是不是会存在误切现象? 网络是有明确要求的,包括时延等,通常要求在5ms内,这些要求也会在容灾规范中承载。 针对应用和数据库探活时,不是只探活1次就切换,用户可以在界面上配置策略,比如网络情况不是很好,可以配置成间隔10s并且连续3次失败再做切换等;另外自动故障
topic Java进程访问Mysql网络延迟 process ;delayTime ;database;host ;port ;table ;sqltype Java进程访问Mysql抛自定义异常 process ;exception ;database;host ;port ;table
单边读写 此模式为MAS-Mongo-SDK的默认路由模式,在单边读写模式下,对Mongo的读写操作都在同一Mongo数据库(dc1或dc2)进行,通过配置文件中的active字段或MAS界面配置活跃节点来指定。(通过注解指定数据源的场景例外,注解强制指定路由见强制路由)。 配置示例:
当检测到对端数据中心状态异常时,直接切换会提示切换失败。如果用户需要强制切换数据中心,需要勾选强制切换复选框,再单击“确定”进行切换。 图1 强制切换监控器 业务数据库故障,触发监控器自动切换时,切换操作有10s的耗时,在这期间业务会存在中断的可能。 数据中心1异常自动触发切换后,若数据中心1恢复正常,此
实施步骤 添加数据源 创建同步链路 创建应用 创建MySQL监控 应用接入SDK 故障切换演练 父主题: 同城多活改造实践
azs均相同,则会随机选取其中一个作为本地数据源进行读操作,所以需要尽量保证两个Mongo数据源的AZ信息,一个与props.azs相同,一个不同。 配置示例: devspore: dds: # 基础信息 - 可选,当配置etcd后必选 props: version:
同步链路名称,默认自动生成,或者根据规划自定义填写。 源数据源 选择源数据源。源数据源的数据库实例将配置为创建DB监控数据中心1的数据库。 目标数据源 选择目标数据源。目标数据源中RDS实例中不能有新创建的数据库,否则会导致链路创建异常。 同步方案 选择数据同步方案。 同步方向 选择同步方向,本实践配置“单向”。
setMonitorGlobalConfig 切换监控器 monitor switchMonitor 创建数据库连接池 monitor createDBConnectionPool 更新数据库连接池 monitor updateDBConnectionPool 重置机房监控 dcmonitor
选择项目,默认显示当前命名空间多活分区下已配置的默认项目。 任务 选择DRS灾备任务名称。 灾备切换 配置灾备切换。 升主:升为主数据库。 降备:降为备数据库。 任务名称 请自定义输入任务名称。 表2 手动输入-配置说明 参数 配置说明 任务所在region 配置任务所在区域。 项目ID
使用指南 Mysql配置示例 Redis配置示例 父主题: 故障注入
权限管理 如果您需要对购买的MAS资源,给企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制云服务资源的访问。
MAS-GO-SDK使用手册 Mysql Redis 故障注入
商城应用改造 应用场景 资源准备 配置POM.xml和yaml文件 依赖冲突问题修复 SDK相关功能验证 MySQL监控切换验证