如何通过单个Azure App Gateway监听器负载均衡同一后端池的多端口JVM?
单个监听器实现9个JVM负载均衡的方案
你完全可以用单个监听器搞定,核心是利用Azure Standard Load Balancer的多端口后端设置功能:
- 先创建一个包含所有3台VM的后端池
- 配置后端设置时,不要只填写单个目标端口,而是添加3条端口配置,分别对应8001、8002、8003;如果端口连续,也可以直接填写端口范围
8001-8003 - 给监听器(比如443 HTTPS)绑定这条后端设置,路由规则直接关联它即可
这样负载均衡器会把流量均匀分发到所有3台VM的3个端口,覆盖全部9个JVM实例,逻辑和你熟悉的AWS App LB一致,只是Azure把多端口配置放在了后端设置环节,而非后端池。
关于嵌套负载均衡的备选方案
如果因为环境限制无法使用上述方案,你提出的嵌套LB思路是可行的,但不推荐——会增加架构复杂度和网络延迟:
- 先搭建3个独立的Standard LB,每个对应一个端口(8001/8002/8003):每个LB配置443监听器,后端设置指向对应端口,后端池包含所有3台VM
- 再创建一个顶层Standard LB,把这3个LB的公共FQDN加入它的后端池
- 顶层LB的443监听器路由到这个后端池,流量会先分发到3个下层LB,再由它们转发到对应端口的VM实例
内容的提问来源于stack exchange,提问作者dunantsm
相关产品推荐
相关产品推荐

