文章目录
[一、四层 vs 七层负载均衡:本质区别](#一、四层 vs 七层负载均衡:本质区别)
[四层 LVS 的核心特点:](#四层 LVS 的核心特点:)
[二、LVS 工作原理概述](#二、LVS 工作原理概述)
[三、LVS 三种工作模式对比](#三、LVS 三种工作模式对比)
[1. LVS-NAT 模式(Network Address Translation)](#1. LVS-NAT 模式(Network Address Translation))
[2. LVS-DR 模式(Direct Routing)](#2. LVS-DR 模式(Direct Routing))
[3. LVS-TUN 模式(IP Tunneling)](#3. LVS-TUN 模式(IP Tunneling))
[四、LVS 实战建议](#四、LVS 实战建议)
[五、LVS 与其他方案对比](#五、LVS 与其他方案对比)
专注性能与稳定的四层负载均衡解决方案
一、四层 vs 七层负载均衡:本质区别
在负载均衡系统中,根据 工作层次不同,常见分为:
类型 | 工作层 | 协议层次 | 举例 | 特点 |
---|---|---|---|---|
四层负载均衡 | 传输层 | TCP/UDP | LVS、IPVS、HAProxy(TCP) | 性能高、转发快、透明性强 |
七层负载均衡 | 应用层 | HTTP/HTTPS | Nginx、HAProxy(HTTP)、Traefik | 可识别 URI、Host、Header,策略灵活 |
四层 LVS 的核心特点:
-
工作在 IP + 端口 层面,不解析内容
-
快速转发,系统资源占用极低
-
不支持内容规则路由(如按路径转发)
二、LVS 工作原理概述
LVS 使用的是 Linux 内核中的 IPVS
模块,作为一个虚拟服务器:
-
前端调度器(Director) 接收客户端请求
-
根据调度算法(如 RR、LC、SH)转发给后端 Real Server
-
后端服务器直接响应或通过调度器转发
架构图示:
Client ---> LVS(DIP) ---> Real Server(RIP)
<--- 响应返回方式视模式而定
三、LVS 三种工作模式对比
模式对比总览
模式 | 请求路径 | 响应路径 | 要求 | 适用场景 |
---|---|---|---|---|
NAT 模式 | 客户端 → LVS → RS | RS → LVS → 客户端 | LVS 做双向转发,压力大 | 局域网测试 |
DR 模式 | 客户端 → LVS → RS | RS 直接回客户端 | RS 与 LVS 必须同一网段 | 生产常用,高性能 |
TUN 模式 | 客户端 → LVS → RS(隧道) | RS 回客户端 | 支持公网,RS 配隧道协议 | 异地服务器场景 |
1. LVS-NAT 模式(Network Address Translation)
请求响应都经过 LVS,LVS 成为通信瓶颈。
-
DIP:调度器地址
-
RIP:真实服务器地址
-
VIP:虚拟服务地址
流转路径:
Client --> VIP:80 --> LVS(DIP) --> RS(RIP)
Client <-- VIP:80 <-- LVS(DIP) <-- RS(RIP)
优点:
后端服务器无特殊配置
架构简单,测试友好
缺点:
LVS 成为双向瓶颈
不适合高并发生产环境
2. LVS-DR 模式(Direct Routing)
LVS 只负责请求转发,响应由 RealServer 直接返回客户端。
关键点:
-
RS 与 LVS 处于 同一二层网络
-
所有 RS 配置 VIP 的 loopback 接口(不响应 ARP)
ip addr add 192.168.1.100 dev lo
arp_ignore = 1
arp_announce = 2
流转路径:
Client --> VIP:80 --> LVS(DIP) --> RS(RIP)
Client <-- VIP:80 <-- RS(RIP)
优点:
高性能(仅转发请求)
无数据回流,LVS 压力小
缺点:
只能在同一局域网部署
RS 需特殊配置,不响应 ARP 抢答
3. LVS-TUN 模式(IP Tunneling)
LVS 通过 IP 隧道将请求封装传递给 RS,适合跨地域部署。
-
LVS 和 RS 可以位于不同网络
-
RS 需支持 IP-in-IP 解封装
配置:
ip tunnel add tunl0 mode ipip remote <DIP> local <RIP>
流转路径:
Client --> VIP:80 --> LVS --> IP隧道 --> RS(RIP)
Client <-- VIP:80 <-- RS(RIP)
优点:
支持远程异地 RealServer
响应回客户端无需 LVS
缺点:
配置复杂(需隧道)
安全性依赖底层网络环境
四、LVS 实战建议
场景 | 推荐模式 | 原因 |
---|---|---|
测试环境 | NAT | 架构简单 |
同机房大并发 | DR | 性能高、部署灵活 |
异地容灾、公网混合云 | TUN | 跨网络部署灵活 |
负载调度算法:
-
RR(轮询):适用于性能一致服务器
-
LC(最小连接数):适合长连接场景
-
SH(源地址哈希):保持 session 粘性
五、LVS 与其他方案对比
项目 | LVS | Nginx | HAProxy |
---|---|---|---|
工作层 | 四层 | 七层 | 4/7 层 |
性能 | 极高 | 中高 | 高 |
内容识别 | ❌ | ✅ | ✅ |
配置复杂度 | 中 | 易 | 易 |
适用场景 | TCP 转发,超大并发 | HTTP 路由 | 综合场景 |
总结
-
LVS 是一个 轻量高性能的内核级四层负载均衡器,适用于高并发 TCP/UDP 应用场景。
-
三种模式中,DR 是生产环境最常见选择 ,TUN 适合跨网络环境 ,NAT 更适合测试调试。
-
若业务需要按路径/内容分发,请结合 Nginx/HAProxy 构建七层方案。
如果你想继续深入学习:
推荐阅读:
-
《LVS-DR 模式的 ARP 粘滞配置详解》
-
《从零搭建基于 LVS+Keepalived 的高可用集群》
-
《Nginx vs LVS vs HAProxy 全面对比》