高并发是大型架构核心,下面我详解百万并发架构方案@mikechen
百万并发架构
在构建面向百万级并发访问的服务架构时,必须兼顾高可用性、负载均衡、扩展性与运维简便性。
LVS(Linux Virtual Server)、Nginx 、与 Keepalived 的组合是成熟且常见的解决方案。

Keepalived → 保证 LVS 不挂;
LVS → 抗连接洪峰;
Nginx → 七层分流 + 动静分离;
后端 → 真正业务处理。
整体架构设计

Client
│
┌─────────────┐
│ VIP (漂移IP) │
└──────┬──────┘
Keepalived
┌─────────────┐
│ LVS 主备 │
└──────┬──────┘
四层转发
┌───────────────┐
│ Nginx 集群 │
└──────┬────────┘
反向代理
┌───────────────┐
│ 后端应用集群 │
└───────────────┘
LVS前端:
两台 LVS(director)+ Keepalived 组成高可用负载均衡入口,提供一个 VIP(对外唯一 IP)。
LVS 使用 DR 模式,将请求分发到多台 Nginx。DR 模式仅改 MAC,不改 IP,性能高、适合大并发。
LVS 本质是:
Linux 内核里的 IPVS (IP Virtual Server)
工作在网络层,不做应用解析。

特点:
不解析 HTTP
不处理请求内容
只做 TCP/UDP 转发
因此:
CPU 消耗极低
单机可支撑几十万 ~ 百万连接。
后端高可用:
多台 Nginx 组成七层负载均衡集群,负责 HTTP/HTTPS 终止。
反向代理、压缩、缓存、限流等,再转发给后端 Web/应用集群。
后端:
多台 Web / 应用服务器,后面再接缓存、消息队列、数据库读写分离等(根据业务扩展)。

高可用:
Keepalived 在 LVS 层做 VRRP 漂移 VIP,主 LVS 宕机时自动切到备节点。
LVS 通过 Keepalived 内置的健康检查把故障 Nginx 从集群摘除。
高并发优化
LVS优化:使用DR模式,避免NAT瓶颈;调整算法为wrr(加权轮询);启用IPVS SyncD同步多LVS节点。

Nginx优化:设置worker_processes auto、worker_connections 65535;
启用epoll模型;添加gzip压缩和缓存。单机Nginx可达10万+并发,集群扩展到百万。
系统调优:扩展端口范围net.ipv4.ip_local_port_range = 1024 65535;
增加文件描述符ulimit -n 100000;监控连接ipvsadm -lnc。
扩展策略:横向添加Nginx/Web节点;使用健康检查动态剔除故障;结合CDN分担静态资源。
性能指标:LVS处理能力是Nginx的10倍以上,适合入口层;Keepalived确保<1s故障切换。