美文网首页java
Nginx负载均衡:常用策略配置、参数知识点

Nginx负载均衡:常用策略配置、参数知识点

作者: 二妹是只猫 | 来源:发表于2019-03-05 14:28 被阅读0次

    配置策略:

    轮询(默认)
    权重
    ip hash
    url hash(第三方)
    fair(第三方)
    
    轮询(默认):
    • 优点:实现简单(不用设置,默认就是使用的这个策略)
    • 缺点:不考虑每台服务器的处理能力
    权重(实际生产环境用的最多的配置):
    • 优点:考虑了每台服务器处理能力的不同
    • 配置:
    upstream www.izou.work{
        server www.izou.work:8080 weight=10;
        server www.izou.work:9080 weight=5;
     }
    
    ip hash
    • 优点:能实现同一个用户访问同一个服务器
    • 缺点:根据ip hash不一定平均
    • 配置:
    upstream www.izou.work{
        ip_hash;
        server www.izou.work:8080 ;
        server www.izou.work:9080;
     }
    
    url hash(第三方)
    • 优点:能实现同一个服务访问同一个服务器
    • 缺点:根据url hash分配请求会不平均,请求频繁的url会请求到同一个服务器上
    • 配置:
    upstream www.izou.work{
        server www.izou.work:8080 ;
        server www.izou.work:9080;
        hash  $request_uri;
     }
    
    fair(第三方)
    • 特点:按后端服务器的响应时间来分配请求,响应时间短的优先
    • 配置:
    upstream www.izou.work{
        server www.izou.work:8080 ;
        server www.izou.work:9080;
        fair;
     }
    

    负载均衡参数知识点:

    upstream backserver{
       ip_hash;(使用ip_hash策略配置)
      server 127.0.0.1:9090 down;(down表示当前的server暂时不参与负载)
      server 127.0.0.1:8080 weight=2;(weight默认为1,wieght越大,负载的权重越大)
      server 127.0.0.1:7070
      server 127.0.0.1:6060;(当作备用,其他所有非backup机器down或者忙的情况下,请求backup机器)
     }
    

    补充:

    upstream指令参数

    max-conns:
    限制每台server的连接数,用于保护避免过载,可起到限流作用.参考配置如下:

    #worker进程设置1个,便于测试观察成功的连接数
    worker_processes 1;
    
    upstream tomcats{
        server 192.168.2.21:8080 max_conns=2;
        server 192.168.2.22:8080 max_conns=2;
        server 192.168.2.23:8080 max_conns=2;
    }
    

    slow_start:
    商业版,需要付费
    配置参考如下

    upstream tomcats{
        server 192.168.2.21:8080 weight =2  slow_start=60s;
        server 192.168.2.22:8080 weight =2;
        server 192.168.2.23:8080 weight=2;
    }
    

    注意:

    • 该参数不能使用在hash和random load balancing中
    • 如果在upsteam中只有一台server,则该参数失效
      down:
      用于标记服务节点不可用:
      配置参考如下
    upstream tomcats{
        server 192.168.2.21:8080 weight =2  down;
        server 192.168.2.22:8080 weight =2;
        server 192.168.2.23:8080 weight=2;
    }
    

    backup:
    表示当前服务器是备用机,只有在其他服务器都宕机以后,自己才会加入到集群中,被用户访问:
    配置参考如下

    upstream tomcats{
        server 192.168.2.21:8080 weight =2  backup;
        server 192.168.2.22:8080 weight =2;
        server 192.168.2.23:8080 weight=2;
    }
    

    注意:

    • 该参数不能使用在hash和random load balancing中

    max_fails:
    表示失败几次,则标记为已宕机,踢出上游服务
    faiL_timeoust:
    表示失败的重试时间
    Keepalived:
    提高吞吐量
    keepalived:设置长链接处理的数量
    proxy_http_version':设置长连接http版本proxy_set_header`:清除connection header 信息

    upstream tomcats{
        server 192.168.2.21:8080 weight =2  slow_start=60s;
        server 192.168.2.22:8080 weight =2;
        server 192.168.2.23:8080 weight=2;
        keepalive 32;
    }
    server  {
      lisstne  80;
      server_name www.tomcats.com
    
      location  / {
          proxy_pass http://tomcats;
          proxy_http_version 1.1;
          proxy_set_header  Connection "";
      }
    }
    

    相关文章

      网友评论

        本文标题:Nginx负载均衡:常用策略配置、参数知识点

        本文链接:https://www.haomeiwen.com/subject/nsgnuqtx.html