You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure应用服务计划(ASP)不同应用的流量负载均衡机制是怎样的?

同Azure App Service Plan多应用负载均衡逻辑解答

首先你的猜想是正确的:该场景和单Web服务器托管多站点的虚拟主机逻辑本质相似,核心就是通过请求URL对应的域名(即HTTP请求的Host头)区分不同应用的流量,只是Azure App Service在此基础上叠加了跨节点的全局负载调度能力,具体流转逻辑如下:

流量处理全流程(对应你给出的场景)

你提到的场景:2个工作节点的ASP,部署2个应用,每个节点上各运行1个app1实例、1个app2实例,总计4个应用实例,流量会经过两层处理:

1. 前端负载均衡层处理

  • 入站请求首先到达ASP对应的前端负载均衡集群,集群会先读取请求的Host头,判断目标是app1.azurewebsites.net还是app2.azurewebsites.net
  • 前端会实时维护所有应用实例的健康状态,匹配到目标应用后,会按照默认的轮询策略(如果开启了会话关联性则会把同一客户端的请求固定到同一个实例),把请求转发到目标应用的健康实例上,不会出现app1的请求被发送到app2实例的情况

2. 工作节点内部路由

  • 请求被转发到具体的工作节点后,节点上的Web服务器(Windows计划为IIS,Linux计划为Nginx)会再次通过Host头匹配,把请求路由到节点上对应应用的运行进程中,这一步和你熟悉的单服务器托管多站点的虚拟主机逻辑完全一致

和单服务器多站点的核心差异

  • 单服务器多站点的路由仅局限在单个节点内,而Azure的这套逻辑是跨多节点的:如果某一个工作节点故障,前端负载均衡会自动把流量调度到其他正常节点上的对应应用实例,不会影响业务可用性
  • 同一ASP下的不同应用可以单独配置实例数,比如你可以单独把app1横向扩展到3个实例,app2保持2个实例,前端负载均衡会自动识别每个应用的实例规模做调度,不同应用之间的资源隔离、扩缩容逻辑完全互不干扰

内容的提问来源于stack exchange,提问作者toto'

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:24:01