Nginx主从最全详解(图文全面总结)

Nginx主从是大型架构的核心,下面我重点详解Nginx主从@mikechen

Nginx 主从

Nginx 主从,通常指在高可用架构中,部署两个或多个 Nginx 实例。

整体架构,如下图所示:

Nginx主从最全详解(图文全面总结)

主节点(Master Nginx):承担客户端的主要访问请求,正常运行时对外提供服务;

从节点(Slave Nginx):作为备用节点,在主节点故障或宕机时快速接管流量。

主从架构常与 Keepalived 结合使用,实现主从热备与故障自动切换(即 VIP 漂移)。

 

为什么需要Nginx主从

Nginx,作为高性能的Web服务器、和反向代理服务器,在生产环境中扮演着至关重要的角色。

Nginx主从最全详解(图文全面总结)

然而,任何单点都存在风险,比如:如果只有一台Nginx服务器,一旦该服务器宕机、网络故障或Nginx进程崩溃。

所有依赖它的服务都将中断,导致业务不可用。

通过主从架构,可以消除单点故障,确保Nginx服务的持续运行。

 

Nginx 主从原理

Nginx主从的实现原理核心:是心跳检测(Heartbeat)和IP漂移(IP Takeover)。

目前最常见的实现方案是结合使用Keepalived。

如下图所示:

Nginx主从最全详解(图文全面总结)

配置如下:

+-------------------+
                     |    VIP (Virtual IP)   |
                     +---------|---------+
                               |
                               |
                     +---------v---------+
                     |    Load Balancer    | (可选,如LVS)
                     +---------|---------+
                               |
            +------------------+------------------+
            |                                     |
    +-------v-------+                     +-------v-------+
    | Nginx Master  |                     | Nginx Slave   |
    |  (Keepalived  |                     |  (Keepalived  |
    |    Master)    |                     |    Backup)    |
    |               | <---- VRRP Heartbeat ----> |               |
    |   Nginx Process   |                     |   Nginx Process   |
    | Health Check  |                     | Health Check  |
    +-------|-------+                     +-------|-------+
            |                                     |
            +------------> Backend Servers <-------------+

Keepalived 绑定虚拟IP(VIP),对外提供一个固定访问入口;

主节点 Nginx 绑定 VIP,正常服务;

从节点 Nginx 处于 standby 状态,监控主节点健康;

一旦主节点故障,Keepalived 触发 VRRP 漂移 VIP 到从节点;

从节点立即对外提供服务,实现高可用无缝切换。

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧