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]

posted @ 2021-04-30 16:10  Monstro  阅读(65)  评论(0)    收藏  举报