Nginx 主从
Nginx 主从模式,主要用于实现高可用(High Availability,HA)架构,即在主服务器故障时,从服务器能快速接管服务。
它并不改变 Nginx 本身的处理逻辑,而是借助辅助机制(如 Keepalived)实现主从状态控制、虚拟 IP(VIP)漂移与自动切换。
✅ 应用场景:
- 核心业务系统要求高可用;
- 对公网暴露的 Web/API 服务;
- 数据中心内部服务容灾;
- 单点 Nginx 的高可用替代方案。
Nginx 主从原理
Nginx主从架构,如下图所示:
Nginx主从架构的主要目的是为了实现高可用性,确保Web服务的连续性和稳定性。
在高流量和关键应用场景中,单点故障是不可接受的。通过配置主从架构,即使主服务器出现故障,备用服务器也能迅速接管,从而避免服务中断。
架构组成:
角色 | 描述 |
---|---|
主节点(Master) | 实际提供服务、绑定 VIP、负责接收外部请求 |
从节点(Backup) | 待命状态,不绑定 VIP,实时监控主节点 |
Keepalived | 负责主从角色管理与 VIP 的分配 |
虚拟 IP(VIP) | 提供统一对外访问地址,可在主备节点间漂移 |
工作原理,如下:
首先,主节点绑定 VIP,并运行 Nginx 服务,处理客户端请求。
Keepalived 在主节点上运行,并定期进行健康检查,确保主节点正常运行。
从节点运行 Keepalived,并监控主节点的运行状态。
其次,故障转移。
当 Keepalived 检测到主节点发生故障(例如,Nginx 服务停止或服务器宕机),它会触发故障转移。
Keepalived 将 VIP 从主节点切换到从节点。
从节点接管 VIP,并启动 Nginx 服务,开始处理客户端请求。
最后,恢复。
当主节点恢复正常运行时,它可以重新接管 VIP。
Keepalived 会检测主机状态,当主机故障时,VIP 会从主机“漂移”到备机,由备机临时接管请求。