amazon-s3 - AWS 多区域服务可用性和运营
问题描述
某些 AWS 服务能够在区域之间进行复制。例如 S3(CRR)、RDS(只读副本)等。
- 在
S3
-CRR 中,如果目标 Region 出现故障会发生什么?区域备份后,复制是否会自动赶上?
已编辑 2. 可以双向启用 CRR 吗?例如主动-主动
同样,对于托管在不同区域的RDS
-MySQL Read Replica
(RR) 会发生什么情况
- 如果 RR instance/Destination Region 宕机,是否会影响其他 Region 的 MASTER?
- 一旦实例被替换或一旦区域备份,RR 是否赶上 MASTER 在间隙/中断期间具有的错过的更改?
- 在上述方面
Aurora
与 -MySQL 有何不同?RDS
解决方案
在 S3 跨区域复制中,如果目标区域出现故障或连接中断,对象的复制会延迟,直到问题得到解决,然后再恢复。
跨区域可以用作活动/活动,但没有冲突解决,因此如果您几乎同时将具有相同密钥的不同对象写入两个区域,则哪个版本将是每个区域中的“最终当前版本”未定义。只要你不这样做,就没有问题。你不能做的是在一个环中配置超过 2 个区域,因为 A > B > C > A 只会复制一跳。在 A 中创建的对象将复制 A > B,但不会复制 B > C,因为当复制过程创建对象时,它不会被进一步复制。也就是说,复制到存储桶中的对象永远不会从存储桶中复制出来。直接在 B 中创建的对象将复制 B > C 但不会复制 C > A。
如果 RDS 跨区域副本发生故障或无法访问,则主副本不受影响。在后台,副本正在侦听来自主服务器的更改消息流,但不承认实际上已将更改应用到其本地数据集,因此如果副本消失,从主服务器的角度来看,这不是事件。因为复制流中有排序/定位指针/标记,所以副本知道它在哪里中断,并在重新连接时从正确的起始指针请求流。
当服务/连接恢复时,副本将赶上,但不会立即赶上。所需时间取决于需要复制的更改数据量以及副本的容量。标准 RDS 和 Aurora 都是如此——跨区域复制是异步的。
推荐阅读
- java - 如何将当前用户的特定数据从 firebase 显示到新活动?
- ssas - MDX 获取每个层次结构级别的维度计数
- javascript - 使用 D3.js 创建数据的同步加载并在加载后绘制
- node.js - 在`npm install`中的`node-gyp`编译模块期间获取'OSError:[Errno 2]没有这样的文件或目录:'
- python - 用numpy批量点积?
- java - Vert.x 线程命名 - “vert.x-worker-thread-...”
- visual-studio - 在 VS 的 MSI 设置中强制文件随 Windows 自动启动
- c# - why I couldn't see the referenced dll module hosted by a process
- sql - Oracle - 按日期区分组
- java - how can i still get this problem after i mention the service in the manifest