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

Azure 逻辑应用中的可靠性

本文介绍了 Azure 逻辑应用中的可靠性支持,内容涵盖了通过可用性区域实现的地区内复原能力,以及有关多地区部署的信息。

复原能力是你与 Microsoft 的共同责任,因此本文还介绍了创建满足需求的可复原解决方案的方法。

逻辑应用工作流可以减少需要编写的代码量,帮助你更轻松地在应用、云服务与本地系统之间集成和协调数据。 规划复原能力时,不仅需要考虑到逻辑应用,而且还必须考虑到下述要在逻辑应用中使用的 Azure 资源:

多租户 Azure 逻辑应用会自动管理消耗工作流的计算基础结构和资源。 你无需配置或管理任何虚拟机 (VM)。 消耗工作流在许多客户之间共享计算基础结构。

单租户 Azure 逻辑应用在专用计算资源上运行标准工作流,这些工作流专用于你,称为“计划”。 每个计划可以有多个实例,并且可以选择将这些实例分布在多个可用性区域中。 你的工作流在你的计划的实例上运行。

生产部署建议

对于具有隔离或网络安全要求的企业和安全工作流,建议在单租户 Azure 逻辑应用中创建和运行标准工作流,而不是在多租户 Azure 逻辑应用中使用消耗工作流。 有关详细信息,请参阅创建并部署到不同的环境

对于使用单租户 Azure 逻辑应用的生产部署,应启用区域冗余以将逻辑应用资源分散到多个可用性区域。

暂时性故障

暂时性故障是指组件发生短暂的间歇性故障。 这些故障经常出现在云之类的分布式环境中,在运营过程中比较常见。 经过短暂的时间后,它们就会自我纠正。 应用程序必须能够处理暂时性故障,处理方式通常是重试受影响的请求。

与任何云托管 API、数据库和其他组件通信时,所有云托管应用程序都应遵循 Azure 的暂时性故障处理指南。 要详细了解如何处理暂时性故障,请参阅暂时性故障处理建议

在 Azure 逻辑应用中,许多触发器和操作自动支持“重试策略”,这会自动重试由于暂时性故障而失败的请求。 若要了解如何更改或禁用逻辑应用的重试策略,请参阅处理 Azure 逻辑应用中的错误和异常

如果操作失败,你可以自定义后续操作的行为。 你还可以创建“范围”,以将可能失败或成功的相关操作分组在一起。

有关 Azure 逻辑应用中的错误处理的详细信息,请参阅处理 Azure 逻辑应用中的错误和异常

可用性区域支持

可用性区域是每个 Azure 区域内在物理上独立的数据中心组。 当一个区域发生故障时,服务可以故障转移到其余区域中的一个。

有关 Azure 中可用性区域的详细信息,请参阅什么是可用性区域?

Azure 逻辑应用支持“区域冗余”,它将计算资源分散到多个可用性区域。 将逻辑应用工作负载资源分散到多个可用性区域后,可以改进生产逻辑应用工作负载的复原能力和可靠性。

多租户 Azure 逻辑应用中的新的和现有的消耗逻辑应用工作流会自动启用区域冗余。

对于单租户 Azure 逻辑应用中使用工作流服务计划托管选项的标准工作流,你可以选择启用区域冗余。

对于使用应用服务环境 v3 托管选项的标准工作流,你可以选择启用区域冗余。 有关应用服务环境 v3 如何支持可用性区域的详细信息,请参阅应用服务中的可靠性

支持的区域

支持可用性区域的任何区域中部署的消耗逻辑应用会自动区域冗余。 日本西部例外,它目前不支持区域冗余逻辑应用,因为某些依赖项服务尚不支持区域冗余。

可以在支持 Azure 应用服务可用性区域的任何区域中使用工作流服务计划部署区域冗余的标准逻辑应用。 日本西部例外,它目前不支持区域冗余的逻辑应用。 有关详细信息,请参阅 Azure 应用服务中的可靠性

若要查看哪些区域支持适用于应用服务环境 v3 的可用性区域,请查看区域

要求

你必须至少部署你的工作流服务计划的三个实例。 每个实例大致对应于一个 VM。 若要跨可用性区域分布这些实例 (VM),必须至少有三个实例。

注意事项

  • 连接器:当逻辑应用区域冗余时,内置连接器会自动区域冗余。

  • 集成帐户:默认情况下,高级 SKU 集成帐户是区域冗余的。

成本

使用区域冗余不会额外收费,会自动为多租户 Azure 逻辑应用中的新的和现有的消费工作流启用该冗余。

当你在单租户 Azure 逻辑应用中拥有带有工作流服务计划的标准工作流时,只要你有该计划的三个或更多实例,启用可用性区域就不会产生额外费用。 将根据你的计划 SKU、指定的容量以及根据自动缩放条件纵向扩展或收缩的任何实例向你收费。 如果你启用可用性区域但指定的容量小于 3 个实例,则平台会强制实施最少 3 个实例,并针对这 3 个实例向你收费。

应用服务环境 v3 具有针对区域冗余的特定定价模型。 有关应用服务环境 v3 的定价信息,请查看定价

配置可用性区域支持

消耗逻辑应用工作流会自动支持区域冗余,因此无需进行配置。

  • 创建具有区域冗余的新工作流。

    若要为标准逻辑应用工作流启用区域冗余,请参阅为逻辑应用启用区域冗余

  • 迁移

    在创建服务计划后,无法启用区域冗余。 相反,你需要创建启用了区域冗余的新计划,并删除旧计划。

  • 禁用区域冗余。

    在创建工作流服务计划后,无法禁用区域冗余。 相反,你需要创建禁用了区域冗余的新计划,并删除旧计划。

容量计划和缩放

若要为可用性区域故障做准备,请考虑超额预配你的服务的容量。 超额预配使得解决方案能够容忍一定程度的容量损失,并且仍然可以继续运行而不会降低性能。

若要确定要超额预配多少个实例,重要的是要知道平台将实例分布在多个区域。 你需要考虑至少一个区域的故障。

按照以下步骤确定应预配的实例总数:

  1. 确定高峰工作负载所需的实例数。 在此示例中,我们使用两个场景。 一个场景具有 3 个实例,另一个场景具有 4 个实例。
  2. 通过将峰值工作负载实例计数乘以系数 [(区域数/(区域数-1)] 来检索超额预配实例计数。
  3. 将结果舍入为最接近的整数。

注意

下表假设你使用三个可用性区域。 如果你使用其他数目的可用性区域,请相应地调整公式。

峰值工作负载实例计数 系数 [(区域数/(区域数-1)] 公式 要预配的实例数(已舍入)
3 3/2 或 1.5 (3 x 1.5 = 4.5) 5 个实例
4 3/2 或 1.5 (4 x 1.5 = 6) 6 个实例

区域之间的流量路由

在正常操作期间,工作流调用可以使用区域内任何可用性区域中的计算资源。

在正常操作期间,工作流调用分布在所有可用性区域的所有可用计划实例中。

区域关闭体验

检测和响应:Azure 逻辑应用平台负责检测可用性区域中的故障。 你无需执行任何操作即可启动区域故障转移。

活动请求:如果某个可用性区域变得不可用,则会终止在故障可用性区域中的 VM 上运行的任何正在进行的工作流执行。 Azure 逻辑应用平台会自动在不同可用性区域中的另一个 VM 上恢复工作流。 由于此行为,活动工作流可能会遇到一些暂时性故障或更高的延迟,因为新 VM 会被添加到剩余的可用性区域。

故障回复

当可用性区域恢复时,Azure 逻辑应用会自动在可用性区域中还原实例,移除在其他可用性区域中创建的任何临时实例,并照常在实例之间重新路由流量。

测试区域故障

Azure 逻辑应用平台将管理区域冗余逻辑应用资源的流量路由、故障转移和故障回复。 你不需要启动任何东西。 由于此功能是完全托管的,因此你无需验证可用性区域故障流程。

多区域支持

每个逻辑应用都部署到单个 Azure 区域。 如果该区域变得不可用,你的逻辑应用也会不可用。

备选多区域方法

为了提高复原能力,你可以在辅助区域中部署备用或备份逻辑应用,并在主要区域不可用时故障转移到该其他区域。 若要启用此功能,请完成以下任务:

  • 在主要区域和辅助区域中部署你的逻辑应用。
  • 根据需要重新配置与资源的连接。
  • 配置负载均衡和故障转移策略。
  • 计划监视主实例运行状况并启动故障转移。

有关逻辑应用工作流的多区域部署的详细信息,请参阅以下文档:

服务级别协议

Azure 逻辑应用的服务级别协议 (SLA) 描述了服务的预期可用性。 此协议还描述了实现此期望的条件。 若要了解这些条件,请确保查看联机服务的服务级别协议 (SLA)