【负载均衡系列】Nginx
1. 工作原理
- 事件驱动模型:
- 基于异步非阻塞 I/O(如 Linux 的
epoll
、BSD 的kqueue
),高效处理高并发连接。 - 单线程可处理数千并发请求,避免传统多线程模型的资源竞争问题。
- 基于异步非阻塞 I/O(如 Linux 的
- 多进程架构:
- 主进程(Master):管理配置加载、热升级、工作进程启停。
- 工作进程(Worker):处理实际请求(默认数量与 CPU 核数相同),彼此独立。
- 信号机制:通过
SIGTERM
、SIGHUP
等信号控制进程行为(如重载配置)。
2. 工作模式
- 单线程非阻塞模式:默认模式,通过事件循环高效处理请求。
- 多线程模式(可选):
- 使用线程池处理耗时操作(如大文件读取),避免阻塞事件循环。
- 通过
aio threads
配置启用,提升对阻塞操作的处理能力。
3. 负载均衡
- 策略类型