AWS 中的 NLB(Network Load Balancer) 和 ALB(Application Load Balancer) 是两种不同类型的负载均衡器,分别针对不同的网络层级和应用场景设计。以下是两者的核心区别及适用场景分析:
⚙️ 1. 工作层级与协议支持
| 特性 | NLB(网络负载均衡器) | ALB(应用负载均衡器) | 
| OSI层级 | 第4层(传输层) | 第7层(应用层) | 
| 协议支持 | TCP、UDP、TLS | HTTP、HTTPS、WebSocket | 
| 路由依据 | IP地址、端口、TCP序列号 | URL路径、主机头、HTTP头部、查询参数 | 
- NLB:基于传输层协议(如TCP/UDP)分发流量,不解析应用层内容,适合低延迟、高吞吐场景。  
- ALB:深度解析HTTP/HTTPS请求内容,支持基于URL路径(如 /apivs/images)或主机名的智能路由,适用于Web应用和微服务。
⚡️ 2. 性能与扩展性
| 指标 | NLB | ALB | 
| 吞吐量 | 每秒处理数百万请求,超低延迟(微秒级) | 高吞吐但略低于NLB(毫秒级延迟) | 
| 扩展能力 | 自动弹性扩展,无需预热 | 自动扩展,但突发流量需1-7分钟预热 | 
| 静态IP | ✅ 支持固定IP或弹性IP | ❌ 仅支持动态DNS | 
- NLB:专为高性能场景优化,如游戏服务器、实时视频流、金融交易系统。  
- ALB:适合需要复杂路由的Web应用(如电商平台),但性能上限低于NLB。
🛡️ 3. 高级功能与安全性
| 功能 | NLB | ALB | 
| 内容路由 | ❌ 不支持 | ✅ 基于URL路径、主机头等精细路由 | 
| TLS终止 | ✅ 支持TLS解密(需手动配置证书) | ✅ 自动集成ACM证书管理,支持SSL卸载 | 
| 安全集成 | 基础安全组(2023年后支持) | ✅ 深度集成AWS WAF(防SQL注入/XSS攻击) | 
| 会话粘滞 | ❌ 不支持 | ✅ 基于Cookie的会话保持 | 
- ALB:通过TLS卸载显著降低后端服务器负担,且支持自动化证书续期。  
- NLB:安全组功能较新(2023年更新),适合基础网络隔离。
🖥️ 4. 典型应用场景
| 场景 | 推荐负载均衡器 | 原因 | 
| 游戏服务器/实时通信 | NLB | 低延迟、高并发TCP/UDP连接需求 | 
| 微服务/API网关 | ALB | 基于URL路径路由到不同后端服务(如 /api→ 容器集群) | 
| 静态资源分发 | ALB | 按路径路由(如 /images→ S3存储桶) | 
| 数据库集群 | NLB | 高性能TCP负载均衡,支持固定IP | 
⚠️ 5. 使用注意事项
- NLB的客户端IP透传:
 需在目标组启用“保留客户端IP”选项,否则后端实例看到的是NLB私有IP。
- ALB的健康检查:
 配置不当易误判实例状态(如检查路径/返回非200),建议自定义路径(如/health)。
- 混合架构:
 NLB支持跨VPC注册目标(如本地IDC服务器),ALB仅限同一VPC内。
💎 总结:选择建议
- 选 NLB 如果:
 ⚡️ 需要极致性能(低延迟/高吞吐)、TCP/UDP协议、静态IP支持,或面向非HTTP服务(如数据库、IoT)。
- 选 ALB 如果:
 🌐 业务依赖HTTP/HTTPS、需智能路由(URL/主机头)、TLS自动管理、WAF集成,或构建微服务架构。
💡 最佳实践:对复杂应用(如电商平台),可混合使用 ALB + NLB——ALB处理用户请求的路由,NLB管理后端服务间的高效通信。