高并发是大型架构核心,下面我详解LVS百万并发@mikechen
全内核态运行
全内核态运行,这是 LVS 能扛百万并发的根本前提。

LVS 运行在 Linux 内核态,不解析 HTTP、HTTPS、Header、Body
只关注 IP + 端口 + 四层连接。
对比 Nginx、HAProxy 等七层/四层软件负载均衡。
它们都需要把数据包从内核拷贝到用户态进程,再处理后再拷贝回内核,这个过程会带来巨大的 CPU 和内存开销。
LVS 直接在内核的 IP 层 / TCP 层完成转发,几乎没有上下文切换和内存拷贝。
高效连接转发
LVS 转发的是 TCP 连接,不是 HTTP 请求,客户端与 RealServer 直接建立连接。
LVS 只在 建连阶段参与,后续数据包基本不走 LVS 计算逻辑。

这意味着:
不维护复杂会话状态;
不做请求级调度;
不会因长连接、慢请求被拖死;
一句话总结:LVS 只负责“牵线”,不负责“聊天”。
LVS DR模式
LVS 提供DR转发模式,避开调度器带宽瓶颈,让后端服务器直接响应客户端:

客户端 → [VIP]LVS → 改MAC → RealServer → 直回客户端
↓内核IPVS
无带宽放大
DR 模式(Direct Routing)——百万并发标配
请求:Client → LVS → RealServer
响应:RealServer → Client(不再经过 LVS)
优势:
响应流量不走 LVS;
网络吞吐压力减半;
LVS 几乎不成为瓶颈,互联网高并发 90% 用 DR 模式。
高效算法
LVS 的调度算法,刻意做得 非常“原始”:

-
rr / wrr;
-
lc / wlc;
-
sh(源地址 hash);
特点:
-
O(1) 时间复杂度;
-
不依赖实时 CPU / RT;
-
不做健康权重动态计算;
设计哲学很明确:宁可简单,也不要智能。
mikechen睿哥
10年+大厂架构经验,大厂面试官,就职于阿里、淘宝等一线大厂,操盘多个亿级数据量大厂核心项目。