[size=large][b]1、轮询[/b][/size]
[size=large][b]2、权重值分配[/b][/size]
weight值和负载权重成正比,weigh默认为1,weight越大,负载越高
[size=large][b]3、按照来源ip分配[/b][/size]
[size=large][b]4、根据服务器响应时间分配[/b][/size]
[size=large][b]5、自定义hash(url_hash)[/b][/size]
此外upstream每个后端的可设置参数为:
1.down: 表示此台server暂时不参与负载。
2.weight: 默认为1,weight越大,负载的权重就越大。
3.max_fails: 允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误。
4.fail_timeout: max_fails次失败后,暂停的时间。
5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器,应急措施
upstream backend{
server 192.168.0.1:8080;
server 192.168.0.2:8080;
}
[size=large][b]2、权重值分配[/b][/size]
upstream backend{
server 192.168.0.1:8080 weight=2;
server 192.168.0.2:8080 weight=3;
}
weight值和负载权重成正比,weigh默认为1,weight越大,负载越高
[size=large][b]3、按照来源ip分配[/b][/size]
根据hash(ip)的结果设置访问服务器,ip不变的情况下,访问的服务器也是固定的
upstream backend{
ip_hash;
server 192.168.0.1:8080;
server 192.168.0.2:8080;
}
[size=large][b]4、根据服务器响应时间分配[/b][/size]
需要安装 Upstream Fair Balancer Module
upstream backend{
fair;
server 192.168.0.1:8080;
server 192.168.0.2:8080;
}
[size=large][b]5、自定义hash(url_hash)[/b][/size]
需要安装Upstream Hash Module,使得想同url访问同一台服务器
upstream backend{
server 192.168.0.1:8080;
server 192.168.0.2:8080;
hash $request_uri;
}
此外upstream每个后端的可设置参数为:
1.down: 表示此台server暂时不参与负载。
2.weight: 默认为1,weight越大,负载的权重就越大。
3.max_fails: 允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误。
4.fail_timeout: max_fails次失败后,暂停的时间。
5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器,应急措施