【问题标题】:Azure Functions concurrency and scaling behaviourAzure Functions 并发和缩放行为
【发布时间】:2021-02-10 08:28:03
【问题描述】:

这里有一堆关于 SO 的 Azure Functions 并发问题,但没有一个专门解决这个问题。

我正在考虑 HTTP 触发的函数应用程序的扩展方案(如果重要,运行时是 Node.js)。我来自 AWS Lambda 世界,每个并发调用 results 在一个新的 Lambda 实例中:

如果在请求还在处理过程中再次调用函数,则分配另一个实例,这增加了函数的并发性。

让我对 Azure Function 应用感到困惑的是他们的documentation 中的这篇文章:

单个函数应用最多只能横向扩展 200 个实例。但是,单个实例一次可以处理多个消息或请求,因此对并发执行的数量没有设定限制。

在什么情况下单个FA实例会同时处理多个请求?

【问题讨论】:

    标签: concurrency azure-functions serverless azure-http-trigger


    【解决方案1】:

    这行大概是指下面information

    函数应用中的 host.json 文件允许配置 主机运行时和触发行为。除了批处理行为, 您可以管理多个触发器的并发性。经常调整 这些选项中的值可以帮助每个实例适当地扩展 用于调用函数的需求。

    host.json 文件中的设置适用于 应用程序,在函数的单个实例中。例如,如果你有 具有两个 HTTP 函数和 maxConcurrentRequests 的函数应用 requests 设置为 25,对任一 HTTP 触发器的请求都将计入 共享 25 个并发请求。当那个函数应用是 扩展到 10 个实例,这两个函数有效地允许 250 并发请求(10 个实例 * 每个 25 个并发请求 实例)。

    其他主机配置选项见host.json configuration article

    【讨论】:

    猜你喜欢
    • 2021-12-26
    • 2017-11-20
    • 2021-02-23
    • 1970-01-01
    • 2017-10-26
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 2020-05-14
    相关资源
    最近更新 更多