概述

Nginx负载均衡策略有:轮询(默认)、weight权重、ip_hash、least_conn最少连接

轮询(默认)

每个请求轮流分配到不同的后端服务器,如果后端服务器挂掉,则自动被剔除

实例:

1
2
3
4
upstream www.123.com{
server 172.17.0.2:8080;
server 172.17.0.3:9090;
}

weight权重

根据weight权重,请求会根据权重比例分发给不同后端服务器,weight权重越高,分配的比例越大;实际分配时,根据服务器硬件配置高低,来具体分配weight权重,硬件配置高的,weight就配置高点

实例:

1
2
3
4
upstream www.123.com{
server 172.17.0.2:8080 weight=5;
server 172.17.0.3:9090 weight=10;
}

ip_hash

ip_hash策略是根据用户客户端的IP的hash值来分配具体服务器,这样每个访问客户端都会固定访问某一个服务器,这样可以解决session丢失问题,很多网站都采用这种策略来搞负载均衡,主要考虑到session问题

实例:

1
2
3
4
5
upstream www.123.com{
ip_hash;
server 172.17.0.2:8080;
server 172.17.0.3:9090;
}

least_conn

web请求会被分发到连接数最少的服务器上

实例:

1
2
3
4
5
upstream www.123.com{
least_conn;
server 172.17.0.2:8080;
server 172.17.0.3:9090;
}