美文网首页
nginx-4 负载均衡

nginx-4 负载均衡

作者: 苍老的小孩_a1fe | 来源:发表于2019-03-26 15:43 被阅读0次

    介绍

    负载平衡是优化资源利用率、最大化吞吐量、减少延迟和确保容错配置的常用技术。

    nginx可以作为一个非常有效的HTTP负载平衡器,将流量分配到多个应用服务器,提高Web应用程序的性能、可扩展性和可靠性。

    负载均衡策略

    nginx支持的负载均衡机制有以下几种

    • round-robin
      将请求以循环方式分发给应用服务器
    • least-connected
      下一条请求分配给活跃连接最少的服务器
    • ip-hash
      使用一个hash函数决定由哪个服务器处理下一条请求(基于客户端的IP地址)

    默认的负载均衡配置

    http {
        upstream myapp1 {
            server srv1.example.com;
            server srv2.example.com;
            server srv3.example.com;
        }
    
        server {
            listen 80;
    
            location / {
                proxy_pass http://myapp1;
            }
        }
    }
    #默认使用 round-robin 机制
    

    nginx的反向代理实现包括http、https、fastcgi、uwsgi、scgi、memcached和grpc的负载平衡。

    如果配置https的负载均衡,使用https协议即可。

    当配置FastCGI, uwsgi, SCGI, memcached, gRPC的负载均衡,分别使用 fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass, grpc_pass命令。

    最少连接的负载均衡

    在某些请求需要更长时间才能完成的情况下,新的请求分发到不那么繁忙的服务器,这种机制可以实现更公平负载均衡。

    要启用这种机制,加入least_conn指令即可

        upstream myapp1 {
            least_conn;
            server srv1.example.com;
            server srv2.example.com;
            server srv3.example.com;
        }
    

    会话持续(session persistence)

    如果需要将客户机绑定到特定的应用服务器,保证来自同一台客户端的请求总是被同一台服务器处理,可以使用ip-hash负载均衡机制。

    upstream myapp1 {
        ip_hash;
        server srv1.example.com;
        server srv2.example.com;
        server srv3.example.com;
    }
    

    加权负载平衡(Weighted load balancing)

    可以与以上3中策略配合使用。

        upstream myapp1 {
            server srv1.example.com weight=3;
            server srv2.example.com;
            server srv3.example.com;
        }
    

    若是这种配置,假如来了5个新请求,那么有3个会分发给srv1,而srv2和srv3各处理一个请求。

    健康检测

    nginx的反向代理实现包括了服务器的健康检测。如果来自特定服务器的响应因出现错误而失败,nginx会将这个服务器标记为失败,并在一段时间内不会选择该服务器处理请求。

    max_fails 指令记录发生在 fail_timeout 时间内与服务器交互连续不成功的次数。默认情况下,max_fails 设置为1,当设置为0时相应服务器取消健康检测。

    fail_timeout 失败超时时间,也表示多久服务器被标记为失败。在服务器失败后的失败超时间隔之后,nginx将开始用客户机的请求优雅地探测服务器。如果探测成功,则将服务器标记为活跃。

    相关文章

      网友评论

          本文标题:nginx-4 负载均衡

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