当前位置: 代码迷 >> 综合 >> nginx负载均衡6种分配策略
  详细解决方案

nginx负载均衡6种分配策略

热度:90   发布时间:2024-02-08 06:14:01.0

1、轮询(默认,不用在upstream中配置)方式

2、weight(权重)

当指定的服务器的权重参数,权重占比为负载均衡决定的一部分。权重大负载就大。

upstream hostname {server 10.30.1.11:10000 weight=2;server 10.30.1.12:10000 weight=1;
}

 

3、ip_hash(访问ip)

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。但如果这个后端服务器故障之后,分配到别的服务的时候还是有session问题。

upstream hostname {ip_hash; server 10.30.1.11:10000;server 10.30.1.12:10000;
}

4、least_conn(最少连接数)

在一些要求需要更长的时间才能完成的应用情况下, 最少连接可以更公平地控制应用程序实例的负载。使用最少连接负载均衡,nginx不会向负载繁忙的服务器上分发请求,而是将请求分发到负载低的服务器上。

upstream hostname {least_conn; server 10.30.1.11:10000;server 10.30.1.12:10000;
}

5、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。与weight分配策略类似。

upstream hostname {    server 10.30.1.11:10000;server 10.30.1.12:10000;fair;
}

6、url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

upstream hostname {  server 10.30.1.11:10000;server 10.30.1.12:10000;hash $request_uri;  
}

 

  相关解决方案