高并发是大型架构核心,下面我详解百万级并发架构@mikechen
百万级并发
在互联网高并发场景下,单台服务器很难支撑海量请求。
当系统访问量达到几十万甚至百万级并发时,通常会采用:
LVS + Nginx + Keepalived 的经典高可用负载均衡架构。

这套架构曾广泛应用于电商、金融、社交、视频等大型互联网系统,是支撑百万级并发访问的经典解决。
百万级并发架构设计
整体架构设计,如下所示:

Internet
│
┌─────────────┴─────────────┐
│ │
LVS Master LVS Backup
Keepalived Keepalived
│ │
└────────VIP漂移────────────┘
│
┌────────────┴────────────┐
│ │
Nginx-1 Nginx-2
│ │
┌─────┴─────┐ ┌─────┴─────┐
│ │ │ │
App1 App2 App3 App4
│ │ │ │
└───────────┴─────────────┴───────────┘
│
Redis
│
MySQL
LVS 将请求以 DR(Direct Routing)模式转发给后端 Nginx 节点池(多台,可水平扩展)。
Nginx 作为七层反向代理/负载均衡器,进一步分发到应用服务器(Tomcat、Go、Node.js、PHP-FPM 等)或静态资源。
Keepalived:管理 VIP、主备切换、LVS 配置同步、健康检查。
LVS
Linux Virtual Server,提供 NAT、TUN、DR 三种模式。

DR 模式 最适合高并发(返回流量不经过 LVS,性能最高)。
在互联网业务中,请求包通常很小(几百字节),而响应包很大(几 KB 到几 MB)。
DR 模式下,Nginx 回应数据时不需要经过 LVS,而是直接通过网关返回给客户端。
这彻底解放了 LVS 的下行带宽瓶颈,使其能轻松傲视百万级并发。
Keepalived
如果LVS宕机:整个网站不可访问,因此需要Keepalived。

LVS Master
192.168.1.10
│
Keepalived
│
Heartbeat
│
Keepalived
│
LVS Backup
192.168.1.11
Keepalived 不仅检查对方服务器死活,还可以通过自定义脚本监控本机的 Nginx 或 LVS 进程。
一旦发现本机服务异常,主动降低自身权重或释放 VIP,让备机接管。
Nginx
LVS负责:TCP转发。
Nginx负责:HTTP处理。

LVS │ ▼ Nginx │ ├── App1 ├── App2 ├── App3 └── App4
例如:
HTTPS卸载;
静态资源缓存;
动静分离;
WebSocket;
API网关;
处理 SSL 终止、动静分离、限流、缓存、七层路由等。
自身也可配合 Keepalived 做双机热备,但结合 LVS 更强。