upstream backend{ server 192.168.0.1:8080; server 192.168.0.2:8080; }
2、权重值分配
upstream backend{ server 192.168.0.1:8080 weight=2; server 192.168.0.2:8080 weight=3; }
weight值和负载权重成正比,weigh默认为1,weight越大,负载越高
3、按照来源ip分配
根据hash(ip)的结果设置访问服务器,ip不变的情况下,访问的服务器也是固定的 upstream backend{ ip_hash; server 192.168.0.1:8080; server 192.168.0.2:8080; }
4、根据服务器响应时间分配
需要安装 Upstream Fair Balancer Module upstream backend{ fair; server 192.168.0.1:8080; server 192.168.0.2:8080; }
5、自定义hash(url_hash)
需要安装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机器,应急措施