使用可用性区域的区域内恢复和跨区域的异地灾难恢复(Azure 事件网格)

本文介绍在具有可用性区域的区域中发生故障时,Azure 事件网格如何支持事件网格资源定义和数据的区域内自动恢复。 此外,还介绍了在具有配对区域的区域发生故障时,事件网格如何支持将事件网格资源定义(无数据)自动恢复到另一个区域。

使用可用性区域的区域内恢复

Azure 可用性区域是每个 Azure 区域中具有本地容错性的物理上独立的位置。 采用高性能网络进行连接,往返延迟小于 2 毫秒。 每个可用性区域由一个或多个数据中心组成,这些数据中心配置了独立电源、散热设备和网络基础结构。 如果一个区域受到影响,其余两个区域支持区域服务、容量和高可用性。 有关可用性区域的详细信息,请参阅区域和可用性区域。 在本文中,还可以查看具有可用性区域的区域列表。

主题、系统主题、域、事件订阅和事件数据的事件网格资源定义在区域中的三个可用性区域(可用时)之间自动复制。 当某个可用性区域发生故障时,事件网格资源会自动故障转移到另一个可用性区域,无需任何人工干预。 目前无法控制(启用或禁用)此功能。 当现有区域开始支持可用性区域时,现有事件网格资源将自动故障转移以利用此功能。 客户无需执行任何操作。

Diagram that shows availability zones that protect against localized disasters and regional or large geography disasters by using another region.

跨区域异地灾难恢复

当 Azure 区域遇到长时间的中断时,你可能有兴趣将选项故障转移到备用区域,以实现业务连续性。 许多 Azure 区域具有异地对,有些区域没有。 有关具有配对区域的区域列表,请参阅适用于所有地理位置的 Azure 跨区域复制配对

对于具有异地对的区域,事件网格提供将发布流量故障转移到自定义主题、系统主题和域的配对区域的功能。 在后台,事件网格会自动将主题、系统主题、域和事件订阅的资源定义同步到配对区域。 但是,事件数据不会复制到配对区域。 在正常状态下,事件存储在为该资源选择的区域中。 发生区域中断并且 Microsoft 启动故障转移时,新事件将开始流向异地配对区域,并从该区域调度,无需进行干预。 中断缓解后,从原始区域中发布和接受的事件将从该区域调度。

在少数情况下,Azure 会执行 Azure 发起的故障转移,以将事件网格资源从受影响的区域故障转移到对应的异地配对区域。 Azure 保留决定何时执行此选项的权利。 在故障转移用户的流量之前,此机制不涉及用户同意。

可以通过更新主题或域的配置来启用或禁用此功能。 选择“跨地理位置”选项(默认)以启用 Azure 发起的故障转移,选择“区域”以禁用故障转移。 有关配置此设置的详细步骤,请参阅配置数据驻留。 如果选择“区域”,则 Azure 不会将任何类型的数据复制到另一个区域,你可以定义自己的灾难恢复计划。 有关详细信息,请参阅为 Azure 事件网格主题和域构建自己的灾难恢复计划。

Screenshot showing the Configuration page for an Event Grid custom topic.

以下是你可能想要禁用 Azure 发起的故障转移功能的几个原因:

  • Azure 发起的故障转移是尽最大努力完成的。
  • 某些异地对可能无法满足组织的数据驻留要求。

在这种情况下,建议的选项是为 Azure 事件网格主题和域构建自己的灾难恢复计划。 虽然此选项需要更多精力,但它可实现更快的故障转移,并且你能够控制选择次要区域。 若要为 Azure 事件网格主题实现客户端灾难恢复,请参阅为 Azure 事件网格主题构建自己的客户端灾难恢复

RTO 和 RPO

根据两项指标衡量灾难恢复:

  • 恢复点目标 (RPO):可以丢失数据的分钟数或小时数。
  • 恢复时间目标 (RTO):服务可以关闭的分钟数或小时数。

事件网格的自动故障转移针对元数据(主题、域、事件订阅)和数据(事件)具有不同的 RPO 和 RTO。 如果所需的规范不同于下述规范,仍可以使用主题运行状况 API 实现你自己的客户端故障转移。

恢复点目标 (RPO)

  • 元数据 RPO:0 分钟。 对于适用的资源,在创建/更新/删除资源时,资源定义将同步复制到异地对。 发生故障转移时,不会丢失任何元数据。

  • 数据 RPO:发生故障转移时,将从配对区域处理新数据。 受影响区域的中断得到缓解后,将从该区域调度未处理的事件。 如果区域恢复所需的时间比事件上设置的生存时间值长,则可能会删除数据。 若要减少这种数据丢失,我们建议为事件订阅设置死信目标。 如果受影响的区域完全丢失且不可恢复,则会出现一些数据丢失。 在最佳情况下,订阅服务器能够跟上发布速率,仅丢失几秒钟的数据。 最糟糕的情况是,订阅服务器未主动处理事件,并且最长生存时间为 24 小时,则数据丢失可能长达 24 小时。

恢复时间目标 (RTO)

  • 元数据 RTO:故障转移决策基于配对区域中的可用容量等因素,可以持续 60 分钟或更长时间。 启动故障转移后,在 5 分钟内,事件网格将开始接受主题和订阅的创建/更新/删除调用。

  • 数据 RTO:与上述相同。

重要

  • 在服务器端灾难恢复的情况下,如果配对区域没有可用于承担额外流量的额外容量,则事件网格无法启动故障转移。 恢复是尽最大努力完成的。
  • 使用此功能的成本为:0 美元。
  • 合作伙伴命名空间和合作伙伴主题不支持异地灾难恢复。

后续步骤

请参阅为 Azure 事件网格主题构建自己的客户端灾难恢复