横向扩展如何在Azure应用服务中工作

Nas*_*ser 18 azure azure-web-sites azure-app-service-plans azure-web-app-service

我试图围绕Azure应用服务计划和Azure应用服务的概念,没有运气.

我的理解是,应用服务计划定义了容量和定价,分配给特定应用服务计划的所有应用将共享相同的资源,是吗?

如果这是正确的,那么扩展的好处是什么?如果扩展将创建同一应用的更多实例,最终将在同一个应用服务计划(共享相同的资源)上托管?

我阅读了几乎所有关于Azure应用服务计划和应用服务的官方和非官方文档,但找不到这个问题的答案,他们都说扩展正在应用程序级别(而不是应用程序服务计划)和同时说分配到同一应用服务计划的应用实际上共享相同的资源,那么横向扩展功能的好处是什么?

问候,

4c7*_*b41 23

我的理解是,应用服务计划定义了容量和定价,分配给特定应用服务计划的所有应用将共享相同的资源,是吗?

是.

如果这是正确的,那么扩展的好处是什么?如果扩展将创建同一应用的更多实例,最终将在同一个应用服务计划(共享相同的资源)上托管?

没有人强迫您将所有应用程序放在同一个应用服务计划中.创建应用程序时,您将其放入某个应用程序服务计划中.该(并且只有那个)应用服务计划的所有应用程序将共享资源,但您可以创建许多应用服务计划.
此外,当您向外扩展时,您将创建托管您的应用程序的VM的更多PaaS实例,因此当您向外扩展时,您没有在同一个IIS中获得另一个应用程序池,而是在另一个VM上的另一个IIS上获得另一个应用程序池.

编辑:为了澄清注释,应用服务计划是安装了IIS的Windows VM的集合.分配给该应用服务计划的所有应用程序都托管在这些VM的所有实例上,当您向外扩展或向上扩展时,您可以更改这些VM的数量或容量.
没有临时的应用服务计划.您支付服务计划,而不是应用程序. 应用程序不需要任何费用,它们只是在服务计划上消耗资源,而服务计划则"吃"了钱.您将根据服务计划等级和比例收费.
Pricing is based on the size and number of VM instances you run.

  • 是的,每个实例都是一个单独的VM,所以5 x 1.75GB,1 Core (4认同)
  • 应用服务计划具有实例,分配给计划的应用程序共享这些实例.如果您有一个包含3个实例和2个应用程序的计划,那么您将在3个实例中的每个实例上运行这2个应用程序. (3认同)
  • 实际上现在我更困惑:(所以基本上如果我选择S1应用服务计划(1.75 GB RAM,1核心),我开始使用1个实例的应用程序(比如网站)并将其分配给此应用服务计划.所以这1 instance将拥有所有资源.如果我创建了5个实例(自动或手动扩展),我将拥有5个X(1.75 GB,1个Core)?或者所有5个实例将共享同一组资源? (2认同)

Bru*_*hen 6

据我所知,横向扩展会创建Web应用程序的多个副本,并添加负载平衡以自动在它们之间分配请求.而且您不需要自己单独配置负载平衡.

假设您创建了一个网站(带有IIS的Windows服务器),那么您的网站将拥有应用程序池,用于定义您网站的可用资源.每个实例都可以处理有限数量的请求,为了减少响应时间,您可以将网站扩展到多个实例,然后每个Web服务器可以分割工作负载.有关更多详细信息,您可以参考Windows Azure网站和本教程中的Scaling Up和Scaling Out,以便更好地了解Azure Web App自动扩展.