gpt4 book ai didi

Azure Durable Functions 作为消息队列

转载 作者:行者123 更新时间:2023-12-02 08:17:08 25 4
gpt4 key购买 nike

我有一个无服务器功能,可以接收订单,每天大约 30 个。该函数依赖于第三方 API 来执行一些额外的查找和检查。但是,此外部端点并非 100% 可靠,如果其他 API 在几个小时(或更长时间)内不可用,我需要能够存储订单请求。

我最初的想法是将函数分成两部分,第一部分将接收订单,进行一些初始检查,例如验证订单,然后将请求发布到消息队列或发布/订阅系统中。另一方面,有一个消费者读取订单并尝试执行 API 请求,如果 API 不可用,订单将被发布回队列中。

但是,有人建议我简单地使用 Azure Durable Function 来处理请求,并使用 Aggregator Pattern 将当前积压存储在函数状态中。 (特别是因为 API 将在 99.99..% 的时间内正常工作)。这将使架构变得更加简单。

使用其中一种相对于另一种的优点/缺点是什么,我是否遗漏了任何重要的考虑因素?如果您有任何见解或其他建议,我将不胜感激。如果需要更多信息,请告诉我。

最佳答案

您可以使用持久任务框架或 Azure 存储或服务总线队列来解决此问题,但就您的事务量而言,我认为这使解决方案过于复杂。

如果您每天处理约 30 个订单,请考虑一种更简单的解决方案:

  • 使用Polly ,一个得到良好支持的弹性和容错框架。
  • 将请求信息写入您的数据库。让 Azure Function Timer 触发器偶尔读取并完成处理未标记为完成的订单。

当您的工作量很大时,持久任务框架非常有用。但该框架的学习曲线并不简单。

关于Azure Durable Functions 作为消息队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72570458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com