Azure 事件中心的可靠性
本文介绍 Azure 事件中心的可靠性支持,并介绍了可用性区域的区域内部复原能力以及跨区域灾难恢复和业务连续性。 有关 Azure 中可靠性原则的更详细概述,请参阅 Azure 可靠性。
可用性区域支持
Azure 可用性区域是每个 Azure 地区内的至少三个在物理上独立的数据中心组。 每个区域中的数据中心都配备了独立的电源、冷却系统和网络基础结构。 在本地区域发生故障的情况下,设计可用性区域,以便一个区域受到影响时,其余两个区域支持区域服务、容量和高可用性。
故障范围包括软件和硬件故障,以及地震、洪水和火灾等事件。 容错是通过 Azure 服务的冗余和逻辑隔离来实现的。 有关 Azure 中可用性区域的详细信息,请参阅地区和可用性区域。
已启用 Azure 可用性区域的服务旨在提供适当级别的可靠性和灵活性。 可以通过两种方式进行相关配置。 可以采用区域冗余配置,实现跨区域自动复制,也可以采用区域性配置,将实例固定到特定区域。 还可以将这些方法结合。 有关区域式与区域冗余体系结构的详细信息,请参阅有关使用可用性区域和地区的建议。
事件中心实现了透明故障检测和故障转移机制,以便在发生故障时,服务将继续在保证的服务级别内运行,且不会明显中断。 如果在支持可用性区域的区域中创建事件中心命名空间,则会自动启用区域冗余。 凭借区域冗余,容错会增加,服务会有足够的容量储备来应对整个设施的中断。 元数据和数据(事件)都会在每个区域中的数据中心之间复制。
先决条件
可用性区域支持仅适用于具有可用性区域的 Azure 区域。
创建启用可用性区域的资源
使用 Azure 门户时,会自动启用区域冗余。 创建命名空间时,在选择具有支持可用性区域的区域时,将看到以下突出显示的消息。
禁用可用性区域
Azure 门户不支持禁用可用性区域。 若要禁用可用性区域,请使用以下方法之一:
使用
--zone-redundant=false
的 Azure CLI 命令az eventhubs namespace
使用
-ZoneRedundant=false
的 PowerShell 命令New-AzEventHubNamespace
创建禁用区域冗余的命名空间。
可用性区域迁移
在支持可用性区域的区域中创建可用性区域时,会自动启用可用性区域。
跨区域灾难恢复和业务连续性
灾难恢复 (DR) 是指从会导致故障时间和数据丢失的高影响事件(例如自然灾害或部署失败)中恢复。 不管灾难的原因是什么,最好的补救措施就是一个定义全面且经过测试的 DR 计划,以及一个主动支持 DR 的应用程序设计。 在开始考虑创建灾难恢复计划之前,请参阅设计灾难恢复策略的建议。
在 DR 方面,Azure 使用共同责任模型。 在共担责任模型中,Azure 会确保基线基础结构和平台服务可用。 同时,许多 Azure 服务不会自动复制数据,也不会从失败区域回退以交叉复制到另一个启用的区域。 对于这些服务,你负责设置适用于工作负载的灾难恢复计划。 大多数在 Azure 平台即服务 (PaaS) 产品/服务上运行的服务都提供支持 DR 的功能和指导,你可以使用特定于服务的功能来支持快速恢复,从而帮助制定 DR 计划。
具有可用性区域支持的全活动 Azure 事件中心群集模型针对硬件和数据中心的中断提供复原能力。 但是,如果整个区域和所有区都不可用的灾难,则可以使用异地灾难恢复来恢复工作负荷和应用程序配置。
有一项功能在 Azure 事件中心提供异地灾难恢复。
异地灾难恢复(元数据 DR),仅提供元数据的复制。
异地灾难恢能可确保命名空间(事件中心、使用者组和设置)的整个配置在配对后能够从主命名空间连续复制到辅助命名空间。
Azure 事件中心的异地灾难恢复功能是一种灾难恢复解决方案。 本文中所述的概念和工作流适用于灾难方案,而不适用于临时中断。 有关 Azure 中的灾难恢复的详细讨论,请参阅此文。
使用异地灾难恢复,可以随时启动从主数据库到辅助副本的一次性故障转移。 故障转移移动将命名空间的所选别名指向辅助命名空间。 移动后,将会删除配对。 故障转移几乎是启动后立即发生的。
有关事件中心异地灾难恢复的详细信息、示例和更多文档,请参阅 Azure 事件中心 - 异地灾难恢复。