【问题标题】:Limit number of azure functions running concurrently限制同时运行的 azure 函数的数量
【发布时间】:2019-03-08 16:52:09
【问题描述】:

我在 Azure 上有这个设置。

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

我正在服务总线中写入消息,当收到消息并写入数据库时​​触发我的函数。

我有大量消息要处理,但我遇到了这个例外:

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

我在这里挖掘了 SO 和文档,我从 Paul Battum 那里找到了这个答案:https://stackoverflow.com/a/50769314/1026105

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

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

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

谢谢大家!

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-08
      • 2017-09-06
      • 2018-07-23
      • 1970-01-01
      相关资源
      最近更新 更多