nginx负载均衡的五种战略

nginx能够依据客户端IP进行负载均衡,在upstream里设置ip_hash,就能够针对同一个C类地址段中的客户端挑选同一个后端服务器,除非那个后端服务器宕了才会换一个。

nginx的upstream现在支撑的5种办法的分配

1、轮询(默许)
每个恳求按时刻次序逐个分配到不同的后端服务器,假如后端服务器down掉,能主动除掉。 

upstream backserver { 
server 192.168.0.14; 
server 192.168.0.15; 
}

2、指定权重
指定轮询几率,weight和拜访比率成正比,用于后端服务器功能不均的状况。 

upstream backserver { 
server 192.168.0.14 weight=10; 
server 192.168.0.15 weight=10; 
}

3、IP绑定 ip_hash
每个恳求按拜访ip的hash成果分配,这样每个访客固定拜访一个后端服务器,能够处理session的问题。 

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

4、fair(第三方)
按后端服务器的呼应时刻来分配恳求,呼应时刻短的优先分配。 

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

5、url_hash(第三方)
按拜访url的hash成果来分配恳求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有用。 

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

在需求运用负载均衡的server中增加 

proxy_pass http://backserver/; 
upstream backserver{ 
ip_hash; 
server 127.0.0.1:9090 down; (down 表明单前的server暂时不参加负载) 
server 127.0.0.1:8080 weight=2; (weight 默许为1.weight越大,负载的权重就越大) 
server 127.0.0.1:6060; 
server 127.0.0.1:7070 backup; (其它一切的非backup机器down或许忙的时分,恳求backup机器) 
}

max_fails :答应恳求失利的次数默许为1.当超越最大次数时,回来proxy_next_upstream 模块界说的过错 

fail_timeout:max_fails次失利后,暂停的时刻


微信扫码登陆

翻开 微信
扫一扫登录

phpstudy运用视频教程