Azure Service Plan 如何对不同应用的流量进行负载均衡

How does Azure Service Plan load-balance traffic with different apps

我试图更好地理解 Azure 应用服务计划 (ASP) 在 multiple/different 部署应用服务时如何对流量进行负载平衡。 假设我的 ASP 由 2 个节点(VM 或实例)组成,并且我部署了 2 个应用程序(总共 4 个应用程序实例 运行)并具有以下 URL:

https://app1.azurewebsites.net
https://app2.azurewebsites.net

我知道有 ASP 个前端充当负载平衡器。所以在这里,如果我理解正确的话,就像我有一个托管不同网站的网络服务器,地址区分是基于虚拟主机名(上面的 URL)。对吗?

App Service 是一项多租户服务,因此它使用请求中的主机 header 将请求路由到正确的端点。应用服务的默认域名 *.azurewebsites.net(例如,contoso.azurewebsites.net)不同于应用程序网关的域名(例如,contoso.com)。 ref.1

使用应用服务时,您可以通过扩展它们 运行 所在的应用服务计划来扩展您的应用。当多个应用 运行 在同一应用服务计划中时,每个 scaled-out 实例 运行 是计划中的所有应用。

使用最大努力方法 将应用程序分配到可用的应用程序服务计划,以便跨实例均匀分配。虽然不能保证均匀分布,但该平台将确保同一应用的两个实例不会托管在同一应用服务计划实例上。

该平台不依赖指标来决定工人分配。只有在应用服务计划中添加或删除实例时,应用程序才会重新平衡。

您现在还可以进行 Per-app 缩放,这可以在应用服务计划级别启用,以允许独立于托管它的应用服务计划来缩放应用。这样,应用服务计划可以扩展到 10 个实例,但应用可以设置为仅使用五个。 ref.2