Nginx的负载均衡能力
2025-04-14 11:42:00
114
参考资料
Nginx的负载均衡能力
Nginx负载均衡能力说明:
负载均衡算法:
轮询(默认):按顺序分配请求
权重(weight):指定服务器处理请求的比例
IP哈希(ip_hash):基于客户端IP分配
最少连接(least_conn):优先分配给连接数最少的服务器
响应时间(fair):基于后端响应时间分配(需第三方模块)
健康检查机制:
被动检查:通过失败重试机制实现
主动检查:需配合第三方模块(如nginx_upstream_check_module)
会话保持方式:
ip_hash方法
sticky cookie方法(需第三方模块)
故障转移:
max_fails:允许失败次数
fail_timeout:失败超时时间
backup:标记备用服务器
配置示例(轮询+权重):
http {
upstream backend {
server 192.168.1.100:8080 weight=3;
server 192.168.1.101:8080 weight=2;
server 192.168.1.102:8080 backup;
# 可选参数
least_conn; # 最少连接算法
# ip_hash; # IP哈希算法
keepalive 32; # 长连接数
}
server {
listen 80;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
# 健康检查相关
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_connect_timeout 2s;
proxy_read_timeout 5s;
}
}
}IP哈希配置示例:
upstream backend {
ip_hash;
server 192.168.1.100:8080;
server 192.168.1.101:8080;
}最少连接配置示例:
upstream backend {
least_conn;
server 192.168.1.100:8080;
server 192.168.1.101:8080;
} 
