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

2、weight(权重)

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

upstream myapp1 {

       server srv1.example.com weight=3;

       server srv2.example.com;

       server srv3.example.com;

   }

3、ip_hash(访问ip)

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

upstream favresin{

     ip_hash;

     server 10.0.0.10:8080;

     server 10.0.0.11:8080;

}

4、least_conn(最少连接数)

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

upstream myapp1 {

       least_conn;

       server srv1.example.com;

       server srv2.example.com;

       server srv3.example.com;

   }

 

5、fair(第三方)

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

upstream myapp1{    

     server 10.0.0.10:8080;

     server 10.0.0.11:8080;

     fair;

}

6、url_hash(第三方)

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

例如:http://localhost:18082/systems/index.html#http://localhost:18080/systems/myIndex,nagix会根据url中的hash(http://localhost:18080/systems/myIndex)指派到同一个服务器

upstream your.website.name{  

server 10.0.0.10:8080;

server 10.0.0.11:8080;

hash $request_uri;  

}

posted on 2020-11-26 09:09  vofill-work  阅读(215)  评论(0编辑  收藏  举报