Nginx、LVS和HAProxy都是主流负载均衡,下面我详解高并发选择@mikechen
LVS:极致抗流量层(入口层)
LVS(Linux Virtual Server):工作在内核层,转发效率极高、并发处理能力强。

优势:
超高性能:单机百万QPS,流量不经负载器;
稳定可靠:内核级,故障率极低;
劣势:
无七层功能:不能动静分离或URL路由。
配置复杂:需ipvsadm+内核模块。
健康检查弱:依赖外部脚本。
适合百万级连接、和极低延迟需求的纯 L4 层负载均衡。
Nginx:业务处理核心层
Nginx:作为事件驱动的用户态代理,兼顾静态内容服务、反向代理与 L7 处理。

吞吐次于 LVS,在很多 Web 场景中能提供足够性能且资源占用友好。
优势:
HTTP处理能力强,支持缓存、压缩、限流。
而且,静态资源极强。
劣势:
连接调度能力,不如HAProxy;
超高并发下,略弱于LVS。
适合:业务网关 / API入口 / 静态资源层。
HAProxy:专业的“负载均衡器”
如果说 LVS 是分流器,HAProxy 就是专业的“精细化调度员”。
负载均衡算法最强(least_conn / stick),连接管理能力强,健康检查更专业。

劣势:不适合做复杂业务,不如Nginx灵活。
适合:高并发调度层 / 连接控制层。
如何选择?

| 特性 | Nginx | LVS | HAProxy |
|---|---|---|---|
| 工作层级 | 七层为主(HTTP/HTTPS),Stream模块支持四层 | 纯四层(TCP/UDP) | 四层+七层 |
| 单机QPS | 5-10万(七层) | 100万+(四层) | 20-50万 |
| 内存/CPU消耗 | 中等(协议解析) | 最低(仅转发) | 低(事件驱动) |
| 配置复杂度 | 低(简单上手) | 高(内核模块) | 中等(ACL规则) |
| 健康检查 | 基础(状态码) | 简单 | 高级(URL/TCP) |
| 会话保持 | 支持(ip_hash等) | 支持(持久连接) | 优秀(Cookie等) |
| 典型场景 | Web静态/动态分离 | 大流量TCP分发 | 复杂HTTP/TCP混合 |
追求极致并发与最低延迟:首选 LVS(配合后端 L7 组件)。
需要强 L7 路由、健康检查与成熟流量控制:优选 HAProxy。
需要丰富 Web 功能(缓存、SSL、反向代理、内容处理):优选 Nginx。
推荐分层组合(LVS + HAProxy/Nginx),这种LVS+Nginx组合,大厂标配,能轻松破百万QPS。