Nginx负载均衡策略

1. 轮询 

upstream backserver {
    server 192.168.0.14;
    server 192.168.0.15;
}

此方式默认,将各请求按时间顺序逐一打到不同的后端服务器,如果某台服务器down了,会被自动剔除。

 

2. 权重

upstream backserver {
    server 192.168.0.14 weight=3;
    server 192.168.0.15 weight=7;
}

此方式为在轮训的基础指定了几率,通常按服务器性能做配比,性能越好的,权重越大。

 

3. ip-hash

upstream backserver {
    ip_hash;
    server 192.168.0.14:88;
    server 192.168.0.15:80;
}

此方式是指,用户访问过某服务器后,下次再请求时,会通过hash算法,将请求打到上次访问的机器上。

 

4. fair  (第三方)

upstream backserver {
    server server1;
    server server2;
    fair;
}

这是按后端服务器的响应时间来分配请求,响应最快的优先分配。

 

5. url-hash(第三方)

upstream backserver {
    server squid1:3128;
    server squid2:3128;
    hash $request_uri;
    hash_method crc32;
}

 

url-hash,是指按照url的hash结果分配请求,使相同的url打到相同的服务器,利于后端服务器做缓存。

 

 

负载均衡一些配置参数如下:

1. down 代表该服务器暂时不参与负载。

2.weight 权重。

3.max_fails  允许请求失败的次数,超过之后,返回proxy_next_upstream模块定义的错误。

4.fail_timeout: 最大失败次数后,暂停的时间。

 

上一篇:Nginx深入详解之upstream分配方式


下一篇:git相关