nginx的多进程架构以master-worker模型实现高并发低延迟,master管理配置与生命周期,worker独立无锁处理请求;作为反向代理统一接入层,支持负载均衡、健康检查及多实例高可用部署,并承担静态资源分发与边缘缓存职责。

Nginx 的多进程架构不是为了“堆核”或单纯提升单机算力,而是为高并发、低延迟的网络请求调度提供稳定可靠的运行模型。它在分布式部署中不直接参与服务拆分,但作为关键的流量入口和协同节点,支撑整个分布式系统的可用性、伸缩性与容错能力。
master-worker 模型保障服务稳定性
启动后,Nginx 默认运行一个 master 进程和多个 worker 进程。master 不处理请求,只负责加载配置、管理 worker 生命周期、平滑重启、日志轮转等全局任务;所有 HTTP 请求由 worker 进程独立、无锁地接收和响应。
- 每个 worker 是独立进程,彼此隔离——一个 worker 崩溃不会影响其他 worker 或整体服务
- worker 数量通常设为 CPU 核心数(worker_processes auto;),避免上下文频繁切换,最大化利用 IO 资源
- 当配置变更时,执行 nginx -s reload,master 启动新 worker 并逐步关闭旧 worker,实现零中断升级
作为反向代理统一接入层
在分布式系统中,Nginx 往往部署在最外层,承担“统一网关”角色:隐藏后端真实地址、收敛入口、集中鉴权与限流。
- 通过 upstream 定义多个后端服务节点(如不同机器上的 Spring Boot 实例),配合 proxy_pass 实现透明转发
- 支持多种负载策略:轮询(默认)、权重分配(weight=2)、IP 哈希(ip_hash)保证会话粘性
- 可配置健康检查(如 max_fails=3 fail_timeout=30s),自动剔除不可用节点,无需依赖外部注册中心
多实例部署增强横向容灾能力
单台 Nginx 仍是单点,因此常以“多实例 + VIP/Keepalived”方式组成高可用集群。
- 两台及以上 Nginx 服务器部署相同配置,通过 Keepalived 绑定浮动 IP,主节点故障时 VIP 自动漂移
- 各实例独立运行 master-worker 架构,互不影响;配置同步可通过 Ansible 或 GitOps 自动化完成
- 若采用云环境,也可用 SLB(如阿里云 ALB)替代 Keepalived,Nginx 实例专注做应用层代理而非网络层冗余
配合静态资源与缓存降低后端压力
在分布式架构中,Nginx 不仅转发动态请求,也承担静态内容分发与边缘缓存职责,减少对后端服务和数据库的穿透。
- 直接 root 或 alias 配置静态资源路径,免去应用服务器读文件开销
- 启用 proxy_cache 缓存上游响应(如 API 返回的 JSON),设置 proxy_cache_valid 200 302 10m 控制缓存时效
- 结合 Cache-Control 头与 add_header,协调浏览器、CDN 和 Nginx 自身多级缓存行为











