Nginx主从技术详解(架构+原理+案例)

Nginx是大型架构的必备技能,下面我重点详解Nginx主从技术@mikechen

Nginx主从

在高性能架构中,Nginx 虽然自身性能极高,但如果作为单机入口。

一旦宕机,就会导致后端服务整体瘫痪(单点故障)。

为了实现 99.99% 的高可用性,通常采用 Keepalived + Nginx 的主从高可用方案。

Nginx主从技术详解(架构+原理+案例)-mikechen

主节点 (Master): 正常情况下 VIP 绑定在主节点,承载所有流量。

备节点 (Backup): 实时监控主节点状态,处于热备状态。

切换机制: 当主节点故障,VIP 自动漂移到备节点,实现秒级切换。

 

Nginx主从架构

整体架构,如下图所示:

Nginx主从技术详解(架构+原理+案例)-mikechen

             Client
                │
                ▼
         Virtual IP (VIP)
          192.168.1.100
                │
     ┌──────────┴──────────┐
     ▼                     ▼
Nginx Master          Nginx Backup
192.168.1.10          192.168.1.11
Keepalived            Keepalived
     │                     │
     └──────────┬──────────┘
                ▼
         Backend Servers
      (App / Tomcat / API)

两台 Nginx:主节点(MASTER)、和备节点(BACKUP)。

都部署 Nginx 和 Keepalived,配置几乎相同。

一个 VIP:对外暴露的虚拟 IP(Virtual IP),平时绑在主节点网卡上,主挂了就自动漂到备节点。

客户端只认 VIP:浏览器、APP、上游服务访问的始终是 VIP,不需要感知后面是哪台 Nginx 在服务。

Keepalived基于VRRP协议维持主备Nginx之间的VIP漂移。

主节点持有VIP并处理流量:当主节点不可用时,备节点通过优先级演算抢占VIP,实现无感知切换。

完整切换过程如下:

Nginx主从技术详解(架构+原理+案例)-mikechen

Master 故障
      │
      ▼
Keepalived 心跳丢失
      │
      ▼
Backup 接管 VIP
      │
      ▼
Backup 成为 Master

Nginx + Keepalived 经典 HA 方案。

评论交流
    说说你的看法