Nginx负载均衡策略

Nginx负载均衡策略

一、轮询(round-robin)

这是nginx默认的负载均衡策略

配置:

upstream app.com {    #集群
    server 127.0.0.1:8080;    #server1
    server 127.0.0.1:8081;    #server2
}

解释:

加入同一时刻有10个request,那么该集群的处理顺序就是:server1、server2、server1、server2、server1、server2...

二、最少连接(least-connected)

配置:

upstream app.com {    #集群
    least_conn;
    server 127.0.0.1:8080;    #server1
    server 127.0.0.1:8081;    #server2
}

解释:

当request到达时,nginx会将该request分配给连接数最少的server

三、权重(weighted)

nginx默认给每个server的权重都是1,代表每个server的负载是一样的。

但可以配置使得一些server负载重一些,一些server负载轻一些

配置:

upstream app.com {    #集群
    server 127.0.0.1:8080 weight=2;    #server1
    server 127.0.0.1:8081 weight=1;    #server2
}

解释:

此时server1的权重是server2的两倍,代表每有3个request,前两个分配给server1,最后一个分配给server2

四、session持久化(ip_hash)

前面三种策略都无法保证client的session能被保存,因为同一个client的request可能被不同的server处理

ip_hash这种策略将client的ip进行hash运算,同一个hash值的ip只会被分配到同一个server(但要保证所有的server都不会down)

配置:

upstream app.com {    #集群
    ip_hash;
    server 127.0.0.1:8080;    #server1
    server 127.0.0.1:8081;    #server2
}
posted @ 2018-11-29 15:10  渡劫锦官城  阅读(277)  评论(0编辑  收藏  举报