本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
PostgreSQL 可用于池模型
池模型本质上只有一个 PostgreSQL 实例。因此,设计应用程序以实现高可用性至关重要。池化数据库的故障或中断会导致您的应用程序降级或所有租户都无法访问。
通过启用高可用性功能,可以使适用于 PostgreSQL 的 Amazon RDS 数据库实例在两个可用区之间实现冗余。有关更多信息,请参阅 Amazon RDS 文档中的 A mazon RDS 高可用性(多可用区)。对于跨区域故障转移,您可以在其他 AWS 区域创建只读副本。(此只读副本必须作为故障转移过程的一部分进行升级。) 此外,您可以复制跨 AWS 区域复制的备份以进行恢复。有关更多信息,请参阅 Amazon RDS 文档中的将自动备份复制到其他 AWS 区域。
兼容 Aurora PostgreSQL 的 Aurora 会自动备份数据,其方式可以承受多个可用区域的故障。(请参阅 Aurora 文档中的亚马逊 Aurora 的高可用性。) 为了提高 Aurora 的弹性并更快地恢复,您可以在其他可用区创建 Aurora 只读副本。您可以使用 Aurora 全球数据库将数据复制到另外五个 AWS 区域,以实现跨区域恢复和自动故障转移。(请参阅 Aurora 文档中的使用亚马逊 Aurora 全球数据库。) 此外,您可以使用 Aurora 全局数据库启用写入转发,以实现跨多个数据库的高可用性 AWS 区域。
无论您使用的是适用于 PostgreSQL 的 Amazon RDS 还是与 Aurora PostgreSQL 兼容,我们都建议您实施高可用性功能,以减轻任何中断对使用池模型的所有多租户 SaaS 应用程序的影响。