当前位置: 首页 > 知识库问答 >
问题:

Azure Function应用程序如何扩展以满足数百万并发用户请求

陆畅
2023-03-14

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

想知道它是如何管理的?特别是,如果我在某个应用程序服务计划中运行我的功能应用程序,它是否会超时或在某些峰值负载条件下无法访问?

由于只有一个IP地址分配给功能应用程序URI,Azure如何确保在这种情况下的水平扩展(极端峰值负载条件)?

是否使用某种内部负载平衡器,然后创建一个新的临时VM(以分散负载并)在负载条件下运行function app实例(当一定数量的并发用户/连接尝试访问函数URI时)?

但即使在这种情况下,它是否也会耗尽使用内部负载平衡器进行负载平衡的VM实例的内部IP?当应用程序服务计划耗尽内部IP池时,必须有一个阈值,以分配要扩展的VM。

那么,考虑到这种情况,如何在Azure应用程序服务计划上运行无限制的web、移动和API应用程序,而不耗尽任何内部IP地址池?

共有1个答案

云霖
2023-03-14

我认为这里的关键问题是扩展如何在应用服务计划上工作。

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

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

回答以下问题-

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

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

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

但即使在这种情况下,它是否也会耗尽使用内部负载平衡器进行负载平衡的VM实例的内部IP?当应用程序服务计划耗尽内部IP池时,必须有一个阈值,以分配要扩展的VM。

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

 类似资料:
  • 我正在做一个项目,该项目将有许多JavaFX应用程序,这些应用程序具有相似但又足够不同的功能,因此我创建了一个抽象基类来扩展Application以处理常见的功能并指示它们需要做什么,还创建了一系列具体的类来扩展这些功能。然而,当我试图跑的时候,我得到 应用程序构造函数java.lang.Reflect.InvocationTargetException位于java.base/jdk.intern

  • Node.js以单线程模式运行,但它使用事件驱动的范例来处理并发。 它还有助于创建子进程,以便在基于多核CPU的系统上利用并行处理。 子进程总是有三个流child.stdin , child.stdout和child.stderr ,它们可以与父进程的stdio流共享。 Node提供了child_process模块,该模块具有以下三种创建子进程的主要方法。 exec - child_process

  • UnsatifiedDependencyException:创建名为'org.springframework.boot.autoConfigure.orm.jpa.HibernateJPAAutoConfiguration'的bean时出错:通过构造函数参数0表示的不满足的依赖关系;嵌套异常是org.springframework.beans.factory.beanCreationExcepti

  • 我们正在使用关系数据库开发很多“传统”web应用程序。它们都是内部软件,为有限的用户提供服务。现在,我们正在构建一个web应用程序,并将其作为云(如SaaS)进行业务。然而,我们在云计算方面没有经验。我们非常感谢所有建议,以便我们可以开始挖掘,因为目前我们不知道从哪里挖掘:) 我们的web应用程序摘要:我们有两个主要部分 第1部分: 对于授权用户 第2部分: 对于公共用户 一种CMS,授权用户创建

  • 在没有任何提示的情况下启动时,发布的应用程序会崩溃。 我克隆了git repo. 运行。SASS有一个错误。然后我将SASS的版本更改为最新版本。 删除节点模块目录并运行npm缓存清除--force。 运行. 运行. 生成android证书到android/app/并更改以应用证书。 运行在. 运行. 我也尝试模拟器上的应用程序,它也会崩溃。 Android SDK 26构建工具26.02

  • /library/frameworks/mono.framework/external/xbuild/xamarin/android/xamarin.android.common.targets:错误:执行任务生成器时出错JavaStubs:应用程序不能同时具有[Application]属性和[assembly:Application]属性的类型。(MyApp.Droid) 如果I applica