nginx 负载均衡 least_conn

创建日期: 2025-02-26 20:33 | 作者: 风波 | 浏览次数: 32 | 分类: Nginx

来源腾讯元宝 DeepSeek

默认情况下的 nginx 作为负载均衡器的时候,不会很均衡,可以使用下面的几种方式

方案一:least_conn

将请求分发到当前连接数最少的服务器,适用于请求处理时间不一致的场景。

upstream backend {
    least_conn;
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

方案二:加权轮询

如果后端服务器的性能不一致,可以为每台服务器分配不同的权重,性能强的服务器处理更多的请求。

upstream backend {
    server backend1.example.com weight=3;
    server backend2.example.com weight=2;
    server backend3.example.com weight=1;
}

方案三:轮询

upstream backend {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

方案四:IP 哈希

根据客户端 IP 地址的哈希值将请求分发到固定的服务器,适用于需要会话保持的场景。

upstream backend {
    ip_hash;
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

方案五:一致性哈希

通过一致性哈希算法将请求分发到后端服务器,适用于动态增减服务器的场景。

Nginx 本身不支持一致性哈希,但可以通过第三方模块(如 ngx_http_upstream_consistent_hash)实现。

32 浏览
0 评论