首页 > 解决方案 > AWS 多区域服务可用性和运营

问题描述

某些 AWS 服务能够在区域之间进行复制。例如 S3(CRR)、RDS(只读副本)等。

  1. S3-CRR 中,如果目标 Region 出现故障会发生什么?区域备份后,复制是否会自动赶上?

已编辑 2. 可以双向启用 CRR 吗?例如主动-主动

同样,对于托管在不同区域的RDS-MySQL Read Replica(RR) 会发生什么情况

  1. 如果 RR instance/Destination Region 宕机,是否会影响其他 Region 的 MASTER?
  2. 一旦实例被替换或一旦区域备份,RR 是否赶上 MASTER 在间隙/中断期间具有的错过的更改?
  3. 在上述方面Aurora与 -MySQL 有何不同?RDS

标签: amazon-s3amazon-rdshigh-availabilityamazon-aurorafault-tolerance

解决方案


在 S3 跨区域复制中,如果目标区域出现故障或连接中断,对象的复制会延迟,直到问题得到解决,然后再恢复。

跨区域可以用作活动/活动,但没有冲突解决,因此如果您几乎同时将具有相同密钥的不同对象写入两个区域,则哪个版本将是每个区域中的“最终当前版本”未定义。只要你不这样做,就没有问题。你不能做的是在一个环中配置超过 2 个区域,因为 A > B > C > A 只会复制一跳。在 A 中创建的对象将复制 A > B,但不会复制 B > C,因为当复制过程创建对象时,它不会被进一步复制。也就是说,复制到存储桶中的对象永远不会从存储桶中复制出来。直接在 B 中创建的对象将复制 B > C 但不会复制 C > A。

如果 RDS 跨区域副本发生故障或无法访问,则主副本不受影响。在后台,副本正在侦听来自主服务器的更改消息流,但不承认实际上已将更改应用到其本地数据集,因此如果副本消失,从主服务器的角度来看,这不是事件。因为复制流中有排序/定位指针/标记,所以副本知道它在哪里中断,并在重新连接时从正确的起始指针请求流。

当服务/连接恢复时,副本将赶上,但不会立即赶上。所需时间取决于需要复制的更改数据量以及副本的容量。标准 RDS 和 Aurora 都是如此——跨区域复制是异步的。


推荐阅读