Nginx高可用
Nginx 通常处在流量入口层,一旦单机故障,后端再稳也没意义。

单点 Nginx 的典型风险:
机器宕机;
进程异常退出;
网络抖动;
人为误操作(reload / 发布);
所以,只要 Nginx 对外提供服务,就必须考虑高可用。
Nginx如何做架构可用
Nginx 本身,不带高可用机制,最常见、最成熟的生产级做法是结合 Keepalived 实现主从热备(Active-Passive)。
通过 VRRP 协议,让一台服务器持有虚拟 IP(VIP)。
主节点宕机/ Nginx 进程异常时,VIP 自动漂移到从节点,切换时间通常在 1-3 秒 内,基本无感知。

用户请求
↓
VIP (例如 10.0.0.100:80/443) ← 漂移的虚拟 IP
↓
┌───────────────┐
│ 主 Nginx (Master) │ ← 优先级高,持有 VIP
│ IP: 10.0.0.11 │
└───────┬───────┘
│
┌────┴────┐
│ │
┌──┴──┐ ┌──┴──┐
│ 从 Nginx (Backup)│ ← 优先级低,VIP 漂移过来后接管
│ IP: 10.0.0.12 │
└──────────────────┘
↓
后端服务集群(Tomcat/Go/Node/PHP 等)
主从(Active-Passive):一台 Nginx 为主节点对外提供服务,另一台为备节点处于热备状态。
主节点故障时由备节点接管,适用于对会话粘性或共享状态敏感的场景。
心跳与漂移 IP(Floating IP),使用 keepalived(基于 VRRP)或类似方案。
在主节点发生故障时,将虚拟 IP 自动漂移到备节点,外部无感知地完成切换。
mikechen睿哥
10年+一线大厂架构实战经验,操盘多个亿级大厂核心项目,就职于阿里、淘宝等一线大厂。