Nginx负载均衡方式和配置
[info]Nginx负载均衡的方式[/info]
- 备份
- 轮询
- 权重
- IP Hash
- URL Hash
- 性能
- 最少连接数
[infobox title="备份"]
upstream mysvr {
server 127.0.0.1:8080;
server 192.168.10.12:8081 backup;
}
正常会访问第一个地址.只有第一个地址访问出现了问题,才会去第二个地址请求.
[/infobox]
[infobox title="轮询"]
upstream loop{
server 127.0.0.1:8080;
server 127.0.0.1:7080;
server 127.0.0.1:6305;
}
这种相当于权重都为1的权重配置.按照顺序将客户端的请求发送给不同服务器.
[/infobox ]
[infobox title="权重"]
upstream weight{
server 127.0.0.1:8080 weight = 5;
server 127.0.0.2:7080 weight = 5;
server 127.0.0.3:6305 weight = 10;
}
这种考虑到不同服务器的性能不一样,按照能者多劳的方式,权重大的,会处理更多的请求.
[/infobox]
[infobox title="IP Hash"]
upstream ipHash{
ip_hash;
server 127.0.0.1:8080;
server 127.0.0.2:8080;
server 127.0.0.3:8080;
}
根据请求IP的Hash值去将请求转发给相应的服务器.
这样的话,同一个IP在多次访问的时候,如果被代理的服务器没有问题,就一定会访问同一个服务器.
这种方式适合有状态服务.
[/infobox]
[infobox title="URL Hash"]
upstream dynamic_zuoyu {
hash $request_uri;
server localhost:8080;
server localhost:8081;
server localhost:8082;
server localhost:8083;
}
相同的URL会被定位到同一个服务器
[/infobox]
[infobox title="性能"]
upstream dynamic_zuoyu {
server localhost:8080;
server localhost:8081;
server localhost:8082;
server localhost:8083;
fair;
}
这个是根据服务器响应时间长短去分配请求的.响应时间越快,分配的请求越多.
[/infobox]
[infobox title="最少连接数"]
upstream dynamic_zuoyu {
least_conn;
server localhost:8080;
server localhost:8081;
server localhost:8082;
server localhost:8083;
}
优先将请求分配给连接数少的服务器.
[/infobox]

浙公网安备 33010602011771号