Azure Function App Scale 如何应对数百万并发用户请求

How does Azure Function App Scale for millions of concurrent user request

我正在尝试了解当 运行在消费计划或应用服务计划中使用时 Azure 函数如何在流量突发中扩展。它说 here 可以拥有无​​限制的 Web、移动、API App on App 服务计划。

想知道它是如何管理的?具体来说,如果我 运行 在应用程序服务计划之一中使用我的函数应用程序,它会在某些峰值负载条件下超时或无法访问吗?

由于只有一个IP地址分配给函数应用URI,Azure如何保证这种情况下的水平扩展(极端峰值负载情况)?

它是否使用某种内部负载平衡器,然后创建一个新的临时 VM(以分散负载)到 运行 负载条件下的函数应用实例(当一定数量的并发 users/connection 试图访问函数 URI)?

但即使在那种情况下,它不会 运行 为使用内部负载平衡器进行负载平衡的 VM 实例提供内部 IP 吗?当应用程序服务计划 运行 超出内部 IP 池以分配 VM 进行横向扩展时,必须有一个阈值点。

再说一遍,Azure 应用服务计划中的 运行 无限网络、移动、API 应用如何在不 运行 退出任何内部网络的情况下考虑这种情况IP地址池?

我认为这里的关键问题是缩放如何在应用服务计划上起作用。

Azure 数据中心由不同的规模单位组成,每个规模单位由数百台服务器(甚至 1000 台)组成。这就是应用服务带来的扩展能力。单个数据中心可能有多个缩放单元。

应用服务的内部架构包括 - 前端 - 七层负载均衡器 Web Worker - Web 服务器 文件服务器 - 存储应用程序内容

回答您的以下问题 -

Q.Sincefunction app URI只分配了一个IP地址,Azure如何保证这种情况下的横向扩展(极端峰值负载情况)?

问。它是否使用某种内部负载平衡器,然后创建一个新的临时 VM(以分散负载和)到负载条件下的 运行 函数应用程序实例(当一定数量的并发 users/connection 尝试时访问函数 URI)?

A:它不会创建新的临时 VM,而是使用 Web Worker,这些 Web Worker 是预先配置的 VM 运行ning 共享负载。前端是一个服务器分层负载均衡器,负责在水平扩展的情况下分配流量。

但即使在那种情况下,它不会 运行 为使用内部负载平衡器进行负载平衡的 VM 实例提供内部 IP 吗?当应用程序服务计划 运行 超出内部 IP 池以分配 VM 进行横向扩展时,必须有一个阈值点。

归根结底,数据中心受到内部可用计算能力的限制。假设地说,如果数据中心 运行 超出计算能力,在这种情况下您可能会开始遇到超时,因为我不知道应用程序会自动扩展到另一个区域的任何情况。