四层负载均衡 vs 七层负载均衡怎么选?

负载均衡是大型架构核心,下面我详解负载均对比@mikechen

四层负载均衡

四层负载基于 IP + 端口 进行转发。

四层负载均衡 vs 七层负载均衡怎么选?-mikechen

它工作在传输层(TCP/UDP),不理解应用层的数据(如 HTTP 协议)。

实现原理:负载均衡器接收到数据包后,直接修改目标 IP/端口并转发给后端服务器。

典型的实现有: LVS、F5、DPVS。

优点:

性能极高:不需要解析应用层协议,对 CPU 消耗极小。

抗压能力强:能处理千万级的并发连接。

通用性强:支持几乎所有基于 TCP/UDP 的协议(如 MySQL、Redis、MQTT)。

缺点:

不灵活:无法根据 URL、Header、Cookie 进行转发。

无法处理 Web 攻击:由于不解析内容,无法进行应用级的 WAF 防护。

 

七层负载均衡

七层负载基于 应用层信息(如 URL、Cookie、HTTP Header)进行转发。

四层负载均衡 vs 七层负载均衡怎么选?-mikechen

实现原理:负载均衡器会先与客户端建立完整的 TCP 连接,解析出应用层数据后,再根据策略发给后端。

典型的实现有 Nginx、HAProxy。。。等等。

优点:

智能化路由:可以实现动静分离、灰度发布(A/B Testing)、按域名路由。

安全性更高:可以在这一层做限流、身份验证、WAF(Web 应用防火墙)拦截。

会话保持:可以利用 Cookie 实现粘性会话。

缺点:

性能损耗大:需要消耗大量 CPU 去解析协议、解密 SSL/TLS,单机吞吐量远低于四层。

 

如何选择?

四层负载均衡 vs 七层负载均衡怎么选?-mikechen

1. 纯性能场景 → 四层

适用场景:
├── TCP 长连接 (WebSocket、SSH、数据库连接)
├── 高 QPS 代理转发 (百万级 API 网关前置)
├── 对延迟极度敏感 (游戏、金融交易)
└── 后端服务已做好 HTTPS (无需 LB 做 SSL 卸载)

推荐架构:DNS → 云 L4 CLB → LVS/HAProxy → 应用服务。

2.业务灵活性场景 → 七层

适用场景:
├── HTTP/HTTPS 微服务 (按路径/域名/Header 路由)
├── 灰度发布、AB 测试、版本流量切分
├── SSL 卸载 + WAF (安全清洗)
├── 动态权重调整 (健康检查 + 智能调度)

推荐架构:DNS → 云 L7 SLB → Nginx/Ingress → 微服务。

3. 混合场景 → 四层 + 七层

在真正的千万级并发架构中,我们通常采用 “LVS (L4) + Nginx (L7)” 的分层设计。

第一层 (L4/LVS):作为外部总入口。

利用 LVS 的极高性能,将流量分发到多台七层 Nginx 机器上,这一层负责抵御基础流量冲击。

第二层 (L7/Nginx):负责具体的业务逻辑。

在这里进行 SSL 卸载(解密)、黑名单拦截、根据路径转发到不同的微服务群。

mikechen睿哥

10年+大厂架构经验,大厂面试官,就职于阿里、淘宝等一线大厂,操盘多个亿级数据量大厂核心项目。

评论交流
    说说你的看法