美文网首页
Nginx 一些负载均衡配置

Nginx 一些负载均衡配置

作者: YonchanLew | 来源:发表于2022-03-07 16:10 被阅读0次

    max_conns
    限制每台server的连接数,用于保护避免过载,可起到限流作用。

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

    slow_start
    权重慢慢升级,从0开始,一定时间后到指定权重
    商业版,需要付费
    该参数不能使用在 hash 和 random load balancing 中。
    如果在 upstream 中只有一台 server,则该参数失效。

    upstream tomcats { 
      server 192.168.1.173:8080 weight=6 slow_start=60s;  
      server 192.168.1.174:8080 weight=2; 
      server 192.168.1.175:8080 weight=2; 
    }
    

    down
    用于标记服务节点不可用

    upstream tomcats { 
      server 192.168.1.173:8080 down; 
      server 192.168.1.174:8080 weight=1; 
      server 192.168.1.175:8080 weight=1;
    }
    

    backup
    表示当前服务器节点是备用机,只有在其他的服务器都宕机以后,自己才会加入到集群中,被用户访问到

    upstream tomcats { 
      server 192.168.1.173:8080 backup; 
      server 192.168.1.174:8080 weight=1; 
      server 192.168.1.175:8080 weight=1; 
    }
    

    backup 参数不能使用在 hash 和 random load balancing 中。

    max_fails
    表示失败几次,则标记server已宕机,剔出上游服务。

    fail_timeout
    表示失败的重试时间。

    max_fails=2 fail_timeout=15s
    #则代表在15秒内请求某一server失败达到2次后,则认为该server已经挂了或者宕机了,随后再过15秒,这15秒内不会有新的请求到达刚刚挂掉的节点上,而是会运作的server,15秒后会再有新请求尝试连接挂掉的server,如果还是失败,重复上一过程,直到恢复。
    

    提高吞吐量
    keepalived : 设置长连接处理的数量
    proxy_http_version :设置长连接http版本为1.1
    proxy_set_header :清除connection header 信息

    upstream tomcats { 
      server 192.168.1.190:8080; 
      keepalive 32; 
    }
    server {
      listen 80; 
      server_name www.tomcats.com; 
      location / { 
        proxy_pass http://tomcats; 
        proxy_http_version 1.1; 
        proxy_set_header Connection ""; 
      } 
    }
    

    ip_hash
    可以保证用户访问可以请求到上游服务中的固定的服务器,前提是用户ip没有发生更改。
    使用ip_hash的注意点:
    不能把后台服务器直接移除,只能标记 down .

    upstream tomcats { 
      ip_hash; 
      server 192.168.1.173:8080; 
      server 192.168.1.174:8080 down; 
      server 192.168.1.175:8080; 
    }
    

    url_hash
    根据每次请求的url地址,hash后访问到固定的服务器节点。

    upstream tomcats { 
      # url hash 
      hash $request_uri; 
      # 最少连接数 
      # least_conn 
      server 192.168.1.173:8080; 
      server 192.168.1.174:8080; 
      server 192.168.1.175:8080; 
    }
    

    least_conn
    最少连接数的优先

    upstream tomcats { 
      least_conn; 
      server 192.168.1.173:8080; 
      server 192.168.1.174:8080; 
      server 192.168.1.175:8080; 
    }
    

    相关文章

      网友评论

          本文标题:Nginx 一些负载均衡配置

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