Multi-AZ DB Cluster Failover

Multi-AZ DB Cluster介绍

Multi-AZ DB Cluster是具有两个可读数据库实例的RDS 的高可用性部署模式。 Multi-AZ DB CLuster在同一区域的三个独立AZ中具有一个writer和两个reader。 与Multi-AZ DB Instance相比,Multi-AZ DB Cluster可提供高可用性、更高的读取工作负载容量以及更低的写入延迟。 此外,它的故障转移时间也更快。

下图显示了多可用区数据库集群的架构:

TAZ

借助Multi-AZ DB Cluster,RDS使用数据库引擎的复制功能将数据从writer实例复制到两个reader实例。 当对writer进行更改时,它将发送到每个reader。 提交更改需要至少一个reader的确认。

reader既充当自动故障转移目标,又提供读取功能以提高应用程序读取吞吐量。 如果写入器数据库实例发生中断,RDS 会故障转移到其中一个reader。

优点

  • 与在 EBS 卷之间使用同步复制的Multi-AZ DB Instance不同,Multi-AZ DB Cluster使用本地连接的 SSD 来存储事务日志,并使用数据库引擎的异步复制, 这会改善提交延迟。

  • 此外,Multi-AZ DB Cluster故障转移到reader的速度比Multi-AZ DB Instance更快,通常在 35 秒内。

Failover with Multi-AZ DB Cluster

之前我们已经将rds-pg-labs的从库提升为一个独立的Multi-AZ DB Cluster, 本节我们继续用这个集群来测试它的failover功能。

在RDS控制台上,点击Failover

image-20231104152442129

image-20231104152502546

Multi-AZ DB Cluster的状态先变成failing over,注意原来writer节点在us-west-2b

image-20231104152550249

failover完成后,writer节点在us-west-2c:

image-20231104152739597