33

我正在尝试围绕 Azure 应用服务计划和 Azure 应用服务的概念展开思考,但没有成功。

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

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

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

问候,

4

3 回答 3

32

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

是的。

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

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

编辑:为了澄清评论,应用服务计划是安装了 IIS 的 Windows VM 的集合。分配给该应用服务计划的所有应用都托管在这些 VM 的所有实例上,当您横向扩展或纵向扩展时,您会更改这些 VM 的数量或容量。
没有临时应用服务计划。您为服务计划付费,而不是为应用程序付费。 应用程序不花钱,它们只是在服务计划上消耗资源,它是“吃”钱的服务计划。您将根据服务计划层级和规模收取费用
Pricing is based on the size and number of VM instances you run.

于 2016-11-13T22:49:18.500 回答
10

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

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

于 2016-11-14T08:47:14.727 回答
1

正如@4c74356b41 所说,当您向外扩展时,您将获得更多的物理资源(即具有更多计算、内存和存储的虚拟机)。此外,根据 Azure 文档的一项更正,横向扩展将影响应用服务计划中的所有应用。请参阅下面的链接,要注意的一点是

“规模设置只需几秒钟即可应用并影响应用服务计划中的所有应用。它们不需要您更改代码或重新部署应用程序”- https://azure.microsoft.com/en-us/documentation/文章/网站规模/

于 2016-11-14T05:04:05.640 回答