首页 > 解决方案 > Azure Service Plan 如何对不同应用的流量进行负载平衡

问题描述

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

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

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

标签: azureazure-app-service-plansazure-appserviceazure-load-balancer

解决方案


应用服务是一项多租户服务,因此它使用请求中的主机标头将请求路由到正确的终结点。应用服务的默认域名 *.azurewebsites.net(例如 contoso.azurewebsites.net)与应用程序网关的域名(例如 contoso.com)不同。参考文献1

使用应用服务时,您可以通过扩展它们运行的​​应用服务计划来扩展应用。当多个应用在同一个应用服务计划中运行时,每个横向扩展的实例都会运行计划中的所有应用。

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

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

您现在还可以执行按应用缩放,可以在应用服务计划级别启用,以允许独立于托管应用服务计划的应用进行缩放。这样,一个应用服务计划可以扩展到 10 个实例,但一个应用可以设置为仅使用五个。参考文献2


推荐阅读