欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

Nginx 负载均衡算法与健康检查配置

发表于:|最后更新:|分类:Linux与网络|阅读:2548 次

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 复用上游连接降低握手开销。