美文网首页
nginx实现负载均衡

nginx实现负载均衡

作者: SevenLonely | 来源:发表于2019-04-02 18:56 被阅读0次

    �配置需要转发的服务端列表

    Upstream 指定后端服务器地址列表
    upstream balanceServer {
        server 10.1.22.33:12345;
        server 10.1.22.34:12345;
        server 10.1.22.35:12345;
    }
    
    在 server 中拦截响应请求,并将请求转发到 Upstream 中配置的服务器列表。
        server {
            server_name  fe.server.com;
            listen 80;
            location /api {
                proxy_pass http://balanceServer;
            }
        }
    
    上面的配置只是指定了 nginx 需要转发的服务端列表,并没有指定分配策略

    nginx 实现负载均衡的策略

    轮询策略
    轮询策略

    默认情况下采用的策略,将所有客户端请求轮询分配给服务端。这种策略是可以正常工作的,但是如果其中某一台服务器压力太大,出现延迟,会影响所有分配在这台服务器下的用户。

    upstream balanceServer {
        server 10.1.22.33:12345;
        server 10.1.22.34:12345;
        server 10.1.22.35:12345;
    }
    
    最小连接数策略
    最小连接数策略

    将请求优先分配给压力较小的服务器,它可以平衡每个队列的长度,并避免向压力大的服务器添加更多的请求。

    upstream balanceServer {
        least_conn;
        server 10.1.22.33:12345;
        server 10.1.22.34:12345;
        server 10.1.22.35:12345;
    }
    
    最快响应时间策略
    最快响应时间策略

    依赖于 NGINX Plus,优先分配给响应时间最短的服务器。

    upstream balanceServer {
        fair;
        server 10.1.22.33:12345;
        server 10.1.22.34:12345;
        server 10.1.22.35:12345;
    }
    
    客户端 ip 绑定

    来自同一个 ip 的请求永远只分配一台服务器,有效解决了动态网页存在的 session 共享问题。

    
    upstream balanceServer {
        ip_hash;
        server 10.1.22.33:12345;
        server 10.1.22.34:12345;
        server 10.1.22.35:12345;
    }
    

    相关文章

      网友评论

          本文标题:nginx实现负载均衡

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