Sam*_*tte 5 azure azure-functions azure-durable-functions
作为 Azure Durable Functions 领域的新手,我正在努力寻找处理对已实施速率限制的 API 的下游调用的最佳方法。
我的流程设置方式如下:
HttpTrigger和绑定,并调用下一个编排函数:DurableClientOrchestrationTrigger在签名中有绑定。该函数将调用 API(等待)并返回集合。对于该集合中的每个项目,它将启动一个新的 Activity:(context.CallActivityAsync()将它们组合在 a 中List并执行 a Task.WhenAll())ActivityTrigger在签名中具有绑定。该函数必须调用速率受限的 API 端点。我想要限制的正是这些活动(跨多个编排)。所以,我正在寻找的是节流模式的实现:
我没有看到实现此目的的标准实现,并且我希望将尽可能多的检查/睡眠逻辑从主编排中移出。
最好的方法是为每个必须限制的 API 调用实现子编排,在调用 Activity 之前必须进行检查吗?
期待任何见解。
萨姆,我看到了几个选择。我还制作了一个视频作为对此的回应。让我们退后一步,看看如何使用常规函数(不持久)来做到这一点。
第一种方法是将函数变成队列触发函数,并使用队列机制来控制横向扩展,通过使用batchSize和newBatchThreshold:
另一种方法是使用 http 触发的函数并在 host.js 文件中使用它:
有了持久函数,我们可以做到这一点:
您特别询问了有关控制每个时间跨度的扩展的问题,这就是我将如何做到这一点:
| 归档时间: |
|
| 查看次数: |
2119 次 |
| 最近记录: |