限制同时运行的天蓝色函数的数量

时间:2018-10-03 12:45:43

标签: azure azure-sql-database azure-functions

我在Azure上进行了此设置。

  • 1条Azure服务总线
  • 1个SQL Azure数据库
  • 1个动态应用服务计划
  • 1个Azure函数

我正在服务总线中编写消息,收到消息并将其写入数据库时​​会触发我的功能。

我要处理大量消息,但有一个例外:

  

数据库的请求限制为90,并且已达到

我在SO和文档中进行了深入研究,并从Paul Battum找到了这个答案:https://stackoverflow.com/a/50769314/1026105

  

您可以使用host.json中的配置设置来控制您的函数在每个实例上执行的并发级别,以及最大扩展设置来控制您可以扩展到多少个实例。这将使您可以控制数据库上的总负载量。

限制功能的策略是什么,因为可以限制以下功能:

  • 您的函数在每个实例上执行的并发级别
  • 实例数

谢谢大家!

1 个答案:

答案 0 :(得分:1)

使用Durable Extensions for Azure Functions,可以在其中控制协调器和活动函数的数量。您将需要稍微更改设计,但随后将更好地控制并发性。

{
  "version": "2.0",
  "durableTask": {
    "HubName": "MyFunctionHub",
    "maxConcurrentActivityFunctions": 10,
    "maxConcurrentOrchestratorFunctions": 10
  },
  "functionTimeout": "00:10:00"
}