百万并发架构实战:Nginx + LVS + Keepalived!

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

百万并发架构场景

Nginx + LVS + Keepalived 组合:是经典的百万并发负载均衡架构。

百万并发架构实战:Nginx + LVS + Keepalived!

          ┌──────── CDN ────────┐
          │                      │
       ┌──▼───┐              ┌──▼───┐
       │ VIP  │  Keepalived  │ VIP  │
       └──┬───┘              └──┬───┘
          │        (VRRP)        │
  ┌───────▼──────────┐
  │     LVS 主节点     │
  └───────┬──────────┘
          │
  ┌───────▼──────────┐
  │     LVS 备节点     │
  └────────┬─────────┘
           │
┌──────────▼───────────┐
│     Nginx 集群        │
│  (10~50 台可横向扩)  │
└──────────┬───────────┘
           │
  ┌────────▼─────────┐
  │   业务服务集群     │
  └──────────────────┘

Nginx、LVS(Linux Virtual Server)与Keepalived三者组合。

因其成熟、轻量与高效,成为常见的实践方案。

 

LVS层架构设计

LVS(四层负载均衡):部署于网络边缘,负责处理大量并发连接与分发TCP/UDP流量。

LVS工作在内核层,性能开销小,适合作为第一跳流量分发器。

百万并发架构实战:Nginx + LVS + Keepalived!

vrrp_instance VI_1 {
    state MASTER
    interface eth0          # 网卡接口
    virtual_router_id 51    # 组ID,主备须一致
    priority 100            # 权重,主高备低
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.100       # 虚拟IP (VIP)
    }
}

LVS (Layer 4): 处于最前端,基于 IP+端口 进行转发。

由于它工作在内核态,不解析应用层协议,性能极高,单机可支撑数十万甚至上百万并发。

 

Nginx层架构设计

Nginx(七层负载均衡与反向代理):部署在LVS后的应用层。

负责HTTP/HTTPS协议的终结、请求路由、缓存、限流与动静分离。

百万并发架构实战:Nginx + LVS + Keepalived!

客户端请求
     ↓
VIP (192.168.1.100) 
LVS+Keepalived (主:192.168.1.10,备:192.168.1.11)
     ↓ DR模式直回
Nginx1(192.168.1.20) Nginx2(192.168.1.21) ...
     ↓
Tomcat1/应用集群

 

Keepalived架构设计

Keepalived(高可用):为LVS提供虚拟IP(VIP)漂移与故障转移能力。

通过VRRP实现主动-备份切换,保证负载均衡层的高可用性。

百万并发架构实战:Nginx + LVS + Keepalived!

一旦主服务器故障,VIP 自动漂移到备用机,实现无缝切换。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧