在 Azure 逻辑应用中为集成帐户设置跨区域灾难恢复

适用范围:Azure 逻辑应用(消耗型 + 标准型)

B2B 工作负荷涉及订单和发票等现金交易。 对于企业而言,在灾难事件中快速恢复以满足与合作伙伴达成一致意见的企业级 SLA,这非常重要。 本文演示为 B2B 工作负荷生成业务连续性计划。

  • 灾难恢复就绪性
  • 在发生灾难事件时故障转移到次要区域
  • 在发生灾难事件后,故障回复到主区域

灾难恢复就绪性

  1. 确定次要区域并在其中创建集成帐户

  2. 为所需的消息流添加合作伙伴、架构和协议,在该消息流中,运行状态需要复制到次要区域集成帐户。

    提示

    确保集成帐户项目命名约定在各个区域中保持一致。

  3. 为了从主要区域提取运行状态,请在次要区域中创建逻辑应用。

    此逻辑应用应该具有一个触发器和一个操作。 触发器应连接到主要区域集成帐户,操作应连接到次要区域集成帐户。 基于时间间隔,触发器将轮询主要区域的运行状态表并提取新记录(如果有)。 操作会将这些新记录更新到次要区域集成帐户。 这有助于将主要区域的增量运行时状态获取到次要区域。

  4. 根据 B2B 协议(X12、AS2 和 EDIFACT),逻辑应用集成帐户中的业务连续性旨在支持这种行为。 若要查找详细步骤,请选择各自的链接。

  5. 建议也在次要区域中部署所有主要区域资源。

    主要区域资源包括 Azure SQL 数据库或 Azure Cosmos DB、用于消息传送的 Azure 服务总线和 Azure 事件中心、Azure API 管理,以及 Azure 应用服务中的 Azure 逻辑应用功能。

  6. 在主要区域和次要区域之间建立连接。 为了从主要区域提取运行状态,请在次要区域中创建逻辑应用。

    逻辑应用应该具有一个触发器和一个操作。 触发器应连接到主要区域集成帐户。 操作应连接到次要区域集成帐户。 基于时间间隔,触发器将轮询主要区域的运行状态表并提取新记录(如果有)。 操作会将这些新记录更新到次要区域集成帐户。 此过程有助于将主要区域的增量运行时状态获取到次要区域。

根据 B2B 协议(X12、AS2 和 EDIFACT),逻辑应用集成帐户中的业务连续性旨在提供这种行为。 有关使用 X12 和 AS2 的详细步骤,请参阅本文中的 X12AS2

在发生灾难事件时故障转移到次要区域

在发生灾难事件时,如果主要区域不可用于业务连续性,则将流量定向到次要区域。 次要区域可帮助企业根据与其合作伙伴达成的的 RPO/RTO 快速恢复功能。 另外,也可以最大限度地减少将故障从一个区域转移到另一个区域的工作。

将控制编号从主要区域复制到次要区域时,可能会像预期的那样出现延迟。 要避免在发生灾难事件时会将生成的重复控制编号发送给合作伙伴,建议使用 PowerShell cmdlet 在次要区域协议中增加控制编号。

在发生灾难事件后,故障回复到主要区域

可以故障回复到主要区域时,请执行以下步骤:

  1. 停止接收在次要区域中来自合作伙伴的消息。

  2. 使用 PowerShell cmdlet 为所有的主要区域协议增加生成的控制编号。

  3. 将流量从次要区域定向到主要区域。

  4. 检查是否已启用逻辑应用,该应用在次要区域中创建,用于提取主要区域的运行状态。

X12

根据控制编号,设计 EDI X12 文档的业务连续性:

提示

还可使用 X12 快速入门模板创建逻辑应用。 使用该模板的先决条件是创建主要和次要的集成帐户。 该模板有助于创建两个逻辑应用,一个用于接收的控制编号,另一个用于生成的控制编号。 各自的触发器和操作会在逻辑应用中创建,然后将触发器连接到主要集成帐户,将操作连接到次要集成帐户。

必备条件

若要启用入站消息的灾难恢复,请选择 X12 协议“接收设置”中的重复检查设置。

Select duplicate check settings

  1. 在次要区域中创建示例“消耗”逻辑应用工作流

  2. 搜索“X12” ,然后选择“X12 - 当修改控制编号时”

    Search for X12

    触发器提示与集成帐户建立连接。 触发器应已连接到主要区域集成帐户。

  3. 输入连接名称,从列表中选择“主要区域集成帐户”,并选择“创建”

    Screenshot that shows where to enter a connection name and select your primary region integration account.

  4. “开始同步控制编号的 DateTime”设置是可选的。 “频率”可以设置为“天”、“小时”、“分钟”或“秒”,中间要有间隔。

    Screenshot that shows the DateTime to start control number sync setting.

  5. 选择新建步骤>添加操作

    Screenshot that shows the New step button and the Add an action option.

  6. 搜索“X12”,然后选择“X12 - 添加或更新控制编号”

    Add or update control numbers

  7. 要将操作连接到次要区域集成帐户,请选择“更改连接”>“添加新连接”,显示可用集成帐户的列表。 输入连接名称,从列表中选择“次要区域集成帐户”,并选择“创建”

    Screenshot that shows where to add a secondary region integration account name.

  8. 通过单击右上角的图标,切换到原始输入。

    Screenshot that shows the icon to select to switch to raw.

  9. 从动态内容选取器选择正文,并保存逻辑应用。

    Dynamic content fields

    基于时间间隔,触发器将轮询主要区域收到的控制编号表并提取新记录。 该操作会更新次要区域集成帐户中的记录。 如果没有更新,触发器状态显示为“已跳过”。

    Control number table

基于时间间隔,增量的运行时状态将从主要区域复制到次要区域。 在发生灾难事件时,如果主要区域不可用,则针对业务连续性将流量定向到次要区域。

EDIFACT

EDI EDIFACT 文档的业务连续性基于控制编号。

必备条件

若要启用入站消息的灾难恢复,请选择 EDIFACT 协议接受设置中的重复检查设置。

Screenshot that shows the duplicate check settings in your EDIFACT agreement's Receive Settings.

  1. 在次要区域中创建示例“消耗”逻辑应用工作流

  2. 搜索“EDIFACT” ,然后选择“EDIFACT - 当修改控制编号时”

    Search for EDIFACT

    触发器提示与集成帐户建立连接。 触发器应已连接到主要区域集成帐户。

  3. 输入连接名称,从列表中选择“主要区域集成帐户”,并选择“创建”

    Primary region integration account name

  4. “开始同步控制编号的 DateTime”设置是可选的。 “频率”可以设置为“天”、“小时”、“分钟”或“秒”,中间要有间隔。

    Screenshot that shows the DateTime and Frequency settings.

  5. 选择新建步骤>添加操作

    Screenshot that shows where to select Add an action.

  6. 搜索“EDIFACT”,然后选择“EDIFACT - 添加或更新控制编号”

    Screenshot that shows where to add or update control numbers.

  7. 要将操作连接到次要区域集成帐户,请选择“更改连接”>“添加新连接”,显示可用集成帐户的列表。 输入连接名称,从列表中选择“次要区域集成帐户”,并选择“创建”

    Create a secondary region integration account name.

  8. 通过单击右上角的图标,切换到原始输入。

    Screenshot that highlights the icon to select when you want to switch to raw inputs.

  9. 从动态内容选取器选择正文,并保存逻辑应用。

Screenshot that shows the dynamic content picker where you can select Body from.

基于时间间隔,触发器将轮询主要区域收到的控制编号表并提取新记录。 操作会将这些记录更新到次要区域集成帐户中。 如果没有更新,触发器状态显示为“已跳过”。

Control number table

基于时间间隔,增量的运行时状态将从主要区域复制到次要区域。 在发生灾难事件时,如果主要区域不可用,则针对业务连续性将流量定向到次要区域。

AS2

根据消息 ID 和 MIC 值,设计针对使用 AS2 协议的文档的业务连续性。

提示

还可使用 AS2 快速入门模板创建逻辑应用。 使用该模板的先决条件是创建主要和次要的集成帐户。 该模板有助于创建具有一个触发器和一个操作的逻辑应用。 逻辑应用在主要集成帐户的触发器和次要集成帐户的操作之间建立连接。

  1. 在次要区域中创建示例“消耗”逻辑应用工作流

  2. 搜索“AS2”,并选择“AS2 - 当创建 MIC 值时”。

    Search for AS2

    触发器提示与集成帐户建立连接。 触发器应已连接到主要区域集成帐户。

  3. 输入连接名称,从列表中选择“主要区域集成帐户”,并选择“创建”

    Screenshot that shows where to enter a connection name when a MIC value is created.

  4. “开始同步 MIC 值的 DateTime”设置是可选的。 “频率”可以设置为“天”、“小时”、“分钟”或“秒”,中间要有间隔。

    DateTime and Frequency

  5. 选择新建步骤>添加操作

    New step, Add an action

  6. 搜索“AS2”,并选择“AS2 - 添加或更新 MIC 内容”

    MIC addition or update

  7. 要将操作连接到次要区域集成帐户,请选择“更改连接”>“添加新连接”,显示可用集成帐户的列表。 输入连接名称,从列表中选择“次要区域集成帐户”,并选择“创建”

    Secondary region integration account name

  8. 通过单击右上角的图标,切换到原始输入。

    Switch to raw inputs

  9. 从动态内容选取器选择正文,并保存逻辑应用。

    Dynamic content

    基于时间间隔,触发器将轮询主要区域表并提取新记录。 操作会将这些新记录更新到次要区域集成帐户。 如果没有更新,触发器状态显示为“已跳过”。

    Primary region table

基于时间间隔,增量的运行时状态将从主要区域复制到次要区域。 在发生灾难事件时,如果主要区域不可用,则针对业务连续性将流量定向到次要区域。