Azure Database for PostgreSQL 灵活服务器中的异地复制

可以在主服务器所在的同一区域或不同地理区域中创建只读副本。 异地复制对于灾难恢复规划或使数据更接近用户等方案非常有用。

可以在任何 Azure Database for PostgreSQL 灵活服务器服务区域中拥有主服务器。 主服务器还可以在支持Azure Database for PostgreSQL灵活服务器实例的任何Azure区域中具有副本。

用于灾难恢复的配对区域

可以在任何受支持的区域中创建副本,但在选择配对Azure区域中的副本时,尤其是出于灾难恢复目的进行架构时,可以获得显著的好处:

  • 区域恢复顺序:在整个地理区域发生中断时,优先恢复每个配对区域中的一个区域。 此优先级可确保跨配对区域部署的应用程序始终有一个区域可优先进行恢复。

  • 顺序更新:配对区域更新按时间顺序错开,从而最大程度地减少与更新相关的问题导致停机的风险。

  • 数据驻留:除少数例外情况外,一对区域中的各个区域位于同一地理区域内,因此满足数据驻留要求。

  • 性能:虽然配对区域通常提供低网络延迟,这增强了数据可访问性和用户体验,但它们可能并不总是具有绝对最低延迟的区域。 如果主要目标是为离用户更近的数据提供服务,而不是确定灾难恢复的优先级,请评估所有可用区域是否存在延迟。 在某些情况下,非配对区域的延迟可能是最低的。

若要更深入地了解配对区域的优点,请参阅 Azure 的跨区域复制文档

区域故障和恢复

Azure各种区域的设施设计为高度可靠。 但是,在极少数情况下,由于网络故障或自然灾害等严重情况,可能无法访问整个区域。 Azure的功能允许你创建分布在多个区域的应用程序,确保一个区域中的故障不会影响其他区域。

为区域灾难做好准备

为潜在的区域灾难做好准备对于确保应用程序和服务的不间断运行至关重要。 如果要为Azure Database for PostgreSQL灵活服务器考虑可靠的应变计划,请考虑以下关键步骤和注意事项:

  1. 创建异地复制只读副本:在与主实例不同的区域中设置只读副本。 此设置可确保在主要区域面临中断时保持连续性。
  2. 确保服务器对称性:处理区域性中断时,最推荐的操作是提升为主服务器,但这要求服务器对称性。 此要求意味着主服务器和副本服务器必须具有特定设置的相同配置。 使用此操作的优点包括:
    • 如果使用虚拟终结点,则无需修改应用程序连接字符串。
    • 它提供了无缝恢复过程,一旦受影响的区域恢复联机,则原始主服务器就会自动恢复其功能,但会充当新的副本角色。
  3. 设置虚拟终结点:使用虚拟终结点可以在发生服务中断时,将应用程序顺利过渡到另一个区域。 无需对应用程序的连接字符串进行任何更改。
  4. 配置只读副本:并非主服务器中的所有设置都会复制到只读副本。 确保在只读副本上适当设置所有必要的配置和功能(例如 PgBouncer)。 有关详细信息,请参阅配置管理部分。
  5. 准备高可用性(HA):如果您的部署需要高可用性,则在提升后的副本上不会自动启用高可用性。 请准备好在提升后激活它。 考虑自动执行此步骤以最大程度地减少停机时间。
  6. 定期测试:定期模拟区域灾难场景以验证现有的阈值、目标和配置。 确保应用程序在这些测试场景中按预期做出响应。
  7. Follow Azure的一般指导:Azure提供有关可恢复性和灾备能力的综合指导。 请查阅这些资源,并将最佳做法集成到准备计划中。

提前为区域灾难做好准备,可确保应用程序和数据的复原能力和可靠性。

当服务中断影响了 SLA 时

如果某个区域中的 Azure Database for PostgreSQL 灵活服务器发生长时间中断,并且这会威胁到应用程序的服务级别协议 (SLA),请注意,以下部分讨论的两种操作都不是由服务发起的。 这两个操作都需要用户干预。 尽可能自动完成整个过程,并实施可靠的监视。 若要详细了解服务中断期间会提供哪些信息,请参阅服务中断页。 在发生区域故障时,只能进行强制提升,这意味着数据丢失量大致等同于副本和主服务器之间的当前滞后时间。 因此,监视滞后时间至关重要。 请考虑以下选项:

提升到主服务器

如果配置虚拟终结点,此选项不需要更新应用程序中的连接字符串。 激活后,编写器终结点将重新指向不同区域中的新主服务器,Azure门户中的复制状态列将显示“重新配置”。 还原受影响的区域后,以前的主服务器会自动恢复,但现在处于副本角色中。

提升为独立服务器并从复制中移除

在某些情况下,此选项可能是唯一可行的选项。 提升服务器后,更新应用程序的连接字符串。 原始区域还原后,旧的主服务器可能再次变为活动状态。 请确保将其删除,以避免产生不必要的费用。 如果希望保留先前的拓扑,请重新创建只读副本。