Azure 存储队列触发 Azure 函数高可用性

Posted

技术标签:

【中文标题】Azure 存储队列触发 Azure 函数高可用性【英文标题】:Azure storage queue triggered Azure function High Availability 【发布时间】:2021-07-07 15:39:01 【问题描述】:

我们有 Azure 存储队列触发 Azure 功能,为了在队列所在的 RegionA 上的 ma​​in 存储帐户中断期间启用 Azure 功能的高可用性,想要启用 Azure 功能以侦听属于 RegionB

上的 stand-by 存储帐户的另一个队列

为了实现上述行为,考虑将队列触发 Azure 函数修改为事件网格触发 Azure 函数,其中事件网格在 ma​​in 的任一队列上收到任何新传入消息的通知strong> 或 备用 存储帐户。此解决方案是否可取或任何其他更好的方式来实现队列触发 Azure 功能的高可用性?

【问题讨论】:

这有什么更新吗? 【参考方案1】:

如果我正确理解您的问题,我最近会使用类似的解决方案。

队列的存储帐户

我有带有复制 RAGRS 的 Azure 存储帐户 美国东部主要区域和美国西部次要区域

我想处理具有高可用性的存储队列数据

通过 Azure DevOps 管道,我在 2 个区域(美国东部和美国西部)部署了相同的 azure 功能 当美国东部地区 Azure 功能在维护或从 Microsoft 端关闭时,美国西部功能将处理我的消息。

注意:我将保持这两个功能正常运行,因此我不需要检测故障转移。这两个函数都将循环处理数据。

【讨论】:

如果这些函数监听同一个队列,它会导致队列消息的重复处理。 “函数将如何在循环中处理数据。”实现了。?

以上是关于Azure 存储队列触发 Azure 函数高可用性的主要内容,如果未能解决你的问题,请参考以下文章

Azure Functions - 使用 Azure Functions 的表存储触发器

Azure 函数队列触发器:如何设置出列消息的时间延迟

Azure Functions:如何在 Azure 存储队列的绑定表达式中使用 POCO?

我们可以使用 Azure 存储队列作为事件源吗?

使用多个 Azure 队列触发单个 Azure 函数

Azure 函数 - 挂起队列触发器