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

Nginx是大型架构的必备技能,下面我重点详解Nginx主从架构@mikechen

Nginx主从

Nginx 主从(Master-Slave / Active-Standby),是一种为了防止“单点故障”而设计的服务器部署方案。

核心痛点:如果你的系统只有一台 Nginx 服务器作为入口,一旦这台服务器宕机(断电、系统崩溃、硬件损坏),整个网站或服务就会立即中断。

解决方案:引入第二台 Nginx 服务器作为“备胎”(Slave)。

Nginx主从架构详解(图文全面总结)-mikechen

主节点 (Master):平时负责处理所有的用户请求。

从节点 (Slave):平时处于待命状态,实时监听主节点的心跳。一旦发现主节点挂了,立刻接管主节点的工作。

 

Nginx主从架构

Nginx主从模式主要利用两台或多台服务器分别做主(Master)和从(Slave),由Keepalived管理VIP:

整体架构,如下图所示:

Nginx主从架构详解(图文全面总结)-mikechen

 

正常运行时,VIP在主机(Master)上,所有请求流量由主Nginx处理,从机处于待命状态。

当主机或主Nginx进程宕机时,VIP自动漂移到从机(Slave)。

Slave上的Nginx替代处理外界访问,保障服务不中断。

系统可监控Nginx服务状态,若主Nginx挂掉,脚本可尝试重启Nginx。

重启失败则自动关闭Keepalived进程,使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.88.50
  }
  track_script {
    chk_nginx
  }
}

脚本用于检测Nginx主进程和端口存活情况,失败则触发VIP漂移。

mikechen睿哥

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

评论交流
    说说你的看法