Nginx主从最全详解(图文全面总结)
大家好,我是mikechen。
Nginx主从是大型架构的核心,下面我重点详解Nginx主从@mikechen
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。
Nginx 主从
Nginx 主从,通常指在高可用架构中,部署两个或多个 Nginx 实例。
整体架构,如下图所示:
主节点(Master Nginx):承担客户端的主要访问请求,正常运行时对外提供服务;
从节点(Slave Nginx):作为备用节点,在主节点故障或宕机时快速接管流量。
主从架构常与 Keepalived 结合使用,实现主从热备与故障自动切换(即 VIP 漂移)。
为什么需要Nginx主从
Nginx,作为高性能的Web服务器、和反向代理服务器,在生产环境中扮演着至关重要的角色。
然而,任何单点都存在风险,比如:如果只有一台Nginx服务器,一旦该服务器宕机、网络故障或Nginx进程崩溃。
所有依赖它的服务都将中断,导致业务不可用。
通过主从架构,可以消除单点故障,确保Nginx服务的持续运行。
Nginx 主从原理
Nginx主从的实现原理核心:是心跳检测(Heartbeat)和IP漂移(IP Takeover)。
目前最常见的实现方案是结合使用Keepalived。
如下图所示:
配置如下:
+-------------------+| VIP (Virtual IP)|+---------|---------+||+---------v---------+|LoadBalancer|(可选,如LVS)+---------|---------+|+------------------+------------------+||+-------v-------++-------v-------+|NginxMaster||NginxSlave||(Keepalived||(Keepalived||Master)||Backup)|||<---- VRRP Heartbeat---->|||NginxProcess||NginxProcess||HealthCheck||HealthCheck|+-------|-------++-------|-------+||+------------>BackendServers<-------------+
Keepalived 绑定虚拟IP(VIP),对外提供一个固定访问入口;
主节点 Nginx 绑定 VIP,正常服务;
从节点 Nginx 处于 standby 状态,监控主节点健康;
一旦主节点故障,Keepalived 触发 VRRP 漂移 VIP 到从节点;
从节点立即对外提供服务,实现高可用无缝切换。
以上
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。