Nginx 提供多种上游负载均衡算法,配合健康检查可构建高可用反向代理层。
一、常用算法
- round-robin:默认轮询
- least_conn:转发给连接数最少的后端
- ip_hash:按客户端 IP 哈希,保持会话粘性
- hash:按自定义键哈希,如 URL
- random:随机选择,可配合
two参数
二、配置示例
nginx
upstream backend {
least_conn;
server 10.0.0.1:8080 max_fails=3 fail_timeout=30s;
server 10.0.0.2:8080 max_fails=3 fail_timeout=30s;
server 10.0.0.3:8080 backup;
keepalive 32;
}
server {
location / {
proxy_pass http://backend;
proxy_next_upstream error timeout http_502;
}
}max_fails 与 fail_timeout 实现被动健康检查,backup 标记备用节点,keepalive 复用上游连接降低握手开销。