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

createh52周前 (06-24)技术教程6

关注mikechen十余年BAT架构经验倾囊相授!

大家好,我是mikechen睿哥。


Nginx是大型架构的必备中间件,下面我就全面来详解Nginx主从原理@mikechen

文章来源:mikechen.cc

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 会从主机“漂移”到备机,由备机临时接管请求。

以上


本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

相关文章

技术栈:为什么NGINX能扛住李佳琦直播间?底层原理揭秘 !

你有没有想过,单个 NGINX 实例是如何处理数百万个并发连接的?NGINX 可扩展性和高性能背后的秘诀在于事件驱动的非阻塞 I/O 架构。这种架构能够充分利用 CPU 和内存资源,高效地处理不断增长...

阿里Java三面:高可用RabbitMQ集群的搭建及原理分析

前言任何一个服务,如果仅仅是单机部署,那么性能总是有上限的,RabbitMQ 也不例外,当单台 RabbitMQ 服务处理消息的能力到达瓶颈时,可以通过集群来实现高可用和负载均衡。RabbitMQ 集...

nginx 初学者指引

本文会简单介绍 nginx 并演示相关的简单任务。首先你需要安装好 nginx。nginx 拥有一个主进程和几个 worker 进程。主进程的主要工作是读取和处理配置,维护 worker 进程。wor...

nginx配置文件详解

Nginx是一个高性能的Web服务器,它可以在Linux系统上运行,提供高效的静态文件服务和动态内容服务。要发挥Nginx的全部功能,需要正确配置Nginx的配置文件。Nginx的配置文件通常位于/e...

Ngnix全局块的工作进程的两个指令

这里讲解一下Ngnix跟工作进程相关的一些配置指令,Ngnix里面包含了一个master进程和一个worker进程,master进程用来管理worker进程,而worker进程可以用来接收用户的处理请...