Amazon RDS 维护窗口 - 如何处理高可用性

0

【以下的问题经过翻译处理】 你好,目前我们使用自己的MySQL实例。我正在考虑迁移到RDS托管数据库服务。在阅读文档时,我看到它每周有30分钟的维护窗口。这大致意味着应用程序的可用性为99.7%。我了解到在例如Aurora等多AZ架构中,可以在不同的AZ中部署读取副本,并在此期间将其提升为主副本。但是看起来到读取副本(被提升为主要副本)的跨可用区流量会收费。从策略角度来看,这是否能够准确概括:1. 为备份和读取副本设置不同的维护窗口。理想情况下,读取副本将有一个较早的窗口,以便首先进行升级。2. 在读取副本或备份副本升级后,将其提升为主副本。3. 将原来的主副本放入维护窗口并升级 4. 将其切换回主副本。(避免跨可用区数据传输费用)这是否正确理解?如何处理具有更高可用性要求的RDS?还是不可能?

profile picture
专家
已提问 4 年前45 查看次数
1 回答
0

【以下的回答经过翻译处理】 不用谢!“复制”是一个非常通用的术语,涵盖了制作数据副本的内容,因此其使用可能会令人困惑。为了创建读取副本而在非Aurora数据的实例之间进行切换,RDS 使用的是各个数据库引擎的复制机制。它以异步模式使用它们,有两个原因。首先,当两个实例无法通信时,在同步模式下,主节点将停滞不前。鉴于读取副本不参与自动故障转移方案,这意味着故障会降低或停止处理。其次,由于同步复制会影响性能,且同步副本越多,影响越大,您真的不会想在跨区域之间开启同步复制,因此同步读取副本不作为选项提供。理论上它可以在一个区域内跨 AZ 之间工作,但第一个问题仍然存在:读取副本不参与自动故障转移方案。因此,RDS将高可用性(Multi-AZ)和读取扩展/灾难恢复(读取副本)解决方案分离开来。Multi-AZ 不仅仅是复制,在底层它使用了各种形式的复制。对于除 Microsoft SQL Server 之外的所有非 Aurora 引擎,它使用卷复制,对于 SQL Server,它使用镜像或者Always-On Availability Groups。在这三种情况下,复制是同步的,因此副本始终保持最后一个提交的事务,并仅支持同一个区域内的跨可用区。

profile picture
专家
已回答 4 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则