我在Azure上进行了此设置。
我正在服务总线中编写消息,收到消息并将其写入数据库时会触发我的功能。
我要处理大量消息,但有一个例外:
数据库的请求限制为90,并且已达到
我在SO和文档中进行了深入研究,并从Paul Battum找到了这个答案:https://stackoverflow.com/a/50769314/1026105
您可以使用host.json中的配置设置来控制您的函数在每个实例上执行的并发级别,以及最大扩展设置来控制您可以扩展到多少个实例。这将使您可以控制数据库上的总负载量。
限制功能的策略是什么,因为可以限制以下功能:
谢谢大家!
答案 0 :(得分:1)
使用Durable Extensions for Azure Functions,可以在其中控制协调器和活动函数的数量。您将需要稍微更改设计,但随后将更好地控制并发性。
{
"version": "2.0",
"durableTask": {
"HubName": "MyFunctionHub",
"maxConcurrentActivityFunctions": 10,
"maxConcurrentOrchestratorFunctions": 10
},
"functionTimeout": "00:10:00"
}