高并发是大型架构核心,下面我详解百万并发实战@mikechen
百万并发实战

在高并发场景下(如百万级 QPS 或 TPS),单一负载均衡器容易成为瓶颈或单点故障。
Nginx + LVS + Keepalived 是经典的开源高可用负载均衡方案,常用于互联网后端服务(如 Web/API、游戏、电商)。
其中:LVS(Linux Virtual Server):四层(TCP/UDP)负载均衡,内核级,性能极高(单机轻松百万 TPS)。
Nginx:七层(HTTP/HTTPS)负载均衡 + 反向代理,支持路径路由、SSL 终结等。
Keepalived:基于 VRRP 协议的高可用工具,实现 LVS/Nginx 的主备切换(Failover),避免单点。
LVS层架构设计

客户端(Internet) → VIP (e.g., 10.0.0.100:80) → LVS Director (主/备,Keepalived 管理 VIP 漂移)
├─ 主 LVS (10.0.0.10) → DR / TUN / NAT 模式转发
└─ 备 LVS (10.0.0.11) → (故障时接管 VIP)
后端 RS (Real Server) → Nginx 集群 (e.g., 10.0.0.20, 10.0.0.21, ...)
└─ Nginx → Upstream 后端 App 服务器 (e.g., Tomcat / Node.js 集群)
首先,LVS 作为四层负载均衡方案。
具备极高的转发性能和低延迟特性,适合处理大量 TCP/UDP 连接。
将 LVS 部署,在前端作为第一级负载均衡器。
可通过 NAT、TUN 或 DR 模式将流量高效分发到后端服务器池。
从而,承担起流量入口的“大流量承载”角色。
LVS 的“”内核级转发“,使其在百万连接下仍能保持稳定,是构建大规模集群的基础。
Nginx层架构设计

http {
upstream backend {
least_conn; # 最少连接算法
server 10.0.0.30:8080 weight=1;
server 10.0.0.31:8080 weight=1;
}
server {
listen 80;
location / {
proxy_pass http://backend;
health_check; # 健康检查
}
}
}
其次,Nginx 作为七层负载均衡与反向代理。
擅长处理 HTTP/HTTPS 协议的路由、缓存、分发与应用层优化。
将 Nginx 部署在后端应用节点或在 LVS 之后的第二级负载均衡位置。
可以实现更细粒度的请求分发、会话保持、动静分离与缓存加速。
Nginx 的配置灵活性与丰富的模块生态,使其能配合应用实现灰度发布、熔断限流与日志追踪等功能。
Keepalived架构设计
最后,Keepalived 提供高可用性(HA)方案。
通过 VRRP(虚拟路由冗余协议)实现主备切换,确保负载均衡器本身不会成为单点故障。

vrrp_script chk_lvs {
script "killall -0 ipvsadm" # 检查 LVS 进程
interval 2
weight -20
}
在 LVS 集群中引入 Keepalived,可以将虚拟 IP 在多台 LVS 节点间透明漂移,保障入口 IP 的持续可达。
此外,Keepalived 的健康检查机制可实时剔除不健康节点,提升整体服务稳健性。