Nginx是大型架构的必备技能,下面我重点详解Nginx主从架构@mikechen
Nginx主从
在大规模 Web 应用和高可用部署中,Nginx 作为高性能反向代理与负载均衡器,被广泛用于前端流量分发与静态资源服务。
所谓 “主从” 模式,也常被称为主备、主从同步或主动-被动架构,是为了保证服务的高可用性与平滑切换。
单台 Nginx 再强大,也可能遇到以下问题:
比如:单点故障,Nginx 崩溃或服务器宕机,用户请求无法转发。
升级风险,Nginx 版本升级或配置调整时,容易影响线上业务。
流量压力,单节点扛不住持续的高并发请求。
为了解决这些问题,我们需要 Nginx 主从架构,实现 高可用。
Nginx主从架构
Nginx主从架构的核心思想:主(Master)节点:对外提供统一的服务 IP,负责接收流量。
从(Slave)节点:实时待命,当主节点故障时,自动接管服务。
主从切换的关键在于 虚拟 IP (VIP),正常情况下,VIP 绑定在主节点上,对外暴露一个固定地址。
整体架构,如下图所示:
正常情况下,VIP 绑定在主节点上,对外暴露一个固定地址。
当主节点故障时,VIP 会自动漂移到从节点。
用户访问的始终是 VIP,不感知后端切换。
vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.100 } track_script { chk_nginx } } vrrp_script chk_nginx { script "/usr/local/bin/check_nginx.sh" interval 2 weight -20 }
Keepalived 通过 VRRP 协议实现主从选举。
定时发送心跳包,检测主节点是否存活。
一旦检测失败,从节点立刻接管 VIP,保证业务不中断。
通过主从架构,Nginx 不再是单点,而成为一个 高可用、可扩展的流量入口,真正扛住生产级高并发。