美文网首页
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