你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

服务连接器的高可用性

服务连接器支持 Azure 可用性区域,可帮助实现业务关键型工作负载的复原能力和可靠性。 服务连接器中的高可用性体系结构的目标是保证服务连接至少在 99.9% 的时间处于正常运行状态,这样,你就不必担心潜在的维护操作和服务中断造成的影响。 服务连接器旨在为在 Azure 中运行的所有类型的应用程序提供高可用性支持。

用户可以在多个 Azure 区域中的可用性区域之间分配 Azure 计算服务。 服务连接器是这些计算服务的扩展资源提供程序。 当你在启用了可用性区域的计算服务中创建服务连接时,Azure 也会自动为你的服务连接设置相应的服务连接可用性区域。 Microsoft 负责为服务连接设置可用性区域和灾难恢复。

服务连接器中的区域冗余

服务连接器是一个 Azure 扩展资源提供程序。 它扩展了 Azure 应用服务、Azure Spring Apps 和 Azure 容器应用。 使用服务连接or在这些计算服务之一中创建新的服务连接时,会预配连接资源作为顶级父计算服务的一部分。

若要为连接启用区域冗余,必须为计算服务启用区域冗余。 为计算服务配置区域冗余后,服务连接也将自动变为区域冗余。 例如,如果为某个应用服务启用了区域冗余,则平台会自动将应用服务实例分散到所选 Azure 区域中的三个局部区域。 使用服务连接器在此应用服务中创建服务连接时,也会自动在所选 Azure 区域的三个对应局部区域中创建服务连接资源。 流量将路由到所有可用的连接资源。 当某个区域发生故障时,平台会检测丢失的实例,自动尝试查找新的替换实例,并根据需要分配流量。

注意

若要创建、更新、验证和列出服务连接,服务连接器将从计算服务和目标服务调用 API。 由于服务连接or 依赖于来自计算服务和目标服务的响应,如果无法访问目标服务,则对服务连接or 的请求可能无法成功。 此限制适用于App 服务、Azure 容器应用和 Azure Spring 应用。

如何使用服务连接器创建区域冗余的服务连接

按照以下说明使用 Azure CLI 或 Azure 门户 在 App 服务 中创建区域冗余服务连接。 同一过程可用于为 Azure Spring Apps 和 Azure 容器应用计算服务创建区域冗余连接。

若要使用 Azure CLI 为服务连接启用区域冗余,请先创建区域冗余App 服务。

  1. 创建应用服务计划并包含 --zone-redundant 参数。 (可选)包含 --number-of-workers 参数以指定容量。 在如何部署区域冗余的应用服务中了解更多详细信息。

    az appservice plan create --resource-group MyResourceGroup --name MyPlan --zone-redundant --number-of-workers 6
    
  2. 在应用服务中创建一个应用程序,并创建与 Blob 存储帐户或所选的其他目标服务的连接。

    az webapp create --name MyApp --plan MyPlan resource-group MyResourceGroup
    az webapp connection create storage-blob 
    

为应用服务启用区域冗余后,服务连接也是区域冗余的。

提示

建议为目标服务启用区域冗余。 在某个区域发生故障的情况下,连接流量将自动分配到其他区域。 但是,创建、验证和更新连接依赖于目标服务中的管理 API。 如果目标服务不支持区域冗余或未启用区域冗余,则这些操作将会失败。

了解服务连接器中的灾难恢复和复原能力

灾难恢复是指在发生灾难性损失后恢复应用程序功能的过程。

在云中,我们事先承认故障肯定会发生。 我们的目标不是试图防止各种故障,而是最大程度地减轻单个组件故障造成的影响。 如果发生灾难,服务连接器将故障转移到配对的区域。 如果服务连接器团队判定/宣布发生服务中断,客户无需执行任何操作。

我们将使用术语 RTO(恢复时间目标),以指示服务连接或恢复到完全可用性的服务中断开始之间的时间。 我们将使用 RPO(恢复点目标)来指示上次操作正确还原的时间与影响服务连接服务的中断开始时间之间的时间。 预期和最大 RPO 为 24 小时,RTO 为 24 小时。

在发生故障转移之前,针对服务连接程序的操作可能会在灾难期间失败。 故障转移完成后,数据将会还原,客户无需采取任何操作。

服务连接器处理存储和计算的业务连续性和灾难恢复 (BCRD)。 如果任何区域中的存储/计算出现问题,平台将尽最大努力缓解影响。 发生灾难时,数据层设计优先确保可用性而不是降低延迟 – 这意味着,如果某个区域出现故障,服务连接器将尝试为其配对区域中的最终用户请求提供服务。

在故障转移操作期间,服务连接器会处理将 DNS 重新映射到可用区域的操作。 故障转移后,客户视图中的所有数据和操作将照常起作用。 服务连接器将在大约一小时内更改其 DNS。 执行手动故障转移需要更长时间。 由于服务连接器是建立在其他 Azure 服务基础之上的资源提供程序,实际时间取决于基础服务的故障转移时间。

灾难恢复区域支持

服务连接器目前支持以下区域对。 如果主要区域发生服务中断,将自动启动故障转移到次要区域的操作。

主要 次要
美国东部 2 EUAP 美国东部
美国中西部 美国中西部 2
西欧 北欧
北欧 西欧
美国东部 美国西部 2
美国西部 2 美国东部

跨区域故障转移

Microsoft 负责处理跨区域故障转移。 服务连接器每隔 10 分钟运行一次运行状况检查,在服务连接器后端检测和处理区域故障转移。 故障转移过程不需要对客户的应用程序或计算服务配置进行任何更改。 服务连接器使用带有自动故障转移的主动-被动群集配置。 灾难恢复后,客户可以使用服务连接器提供的全部功能。

每隔 10 分钟运行一次的运行状况检查将模拟用户行为,模拟方式是创建、验证和更新与服务连接器支持的每个计算服务中目标服务的连接。 如果我们满足以下任一条件,则 Microsoft 将开始分析并启动服务连接器故障转移:

  • 服务运行状况检查连续失败三次
  • 服务连接器的依赖服务宣布服务中断
  • 客户报告区域服务中断

在故障转移期间,对服务连接的请求将受到影响。 故障转移完成后,服务连接数据将会还原。 可以查看 Azure 状态页以检查所有 Azure 服务的状态。

后续步骤

请阅读以下概念文章来详细了解服务连接器。