拾贝杂苑

【转载】nginx 配置路由upstream

1、轮询

Java代码  收藏代码
  1. upstream backend{  
  2.       server 192.168.0.1:8080;  
  3.       server 192.168.0.2:8080;  
  4. }  



2、权重值分配

Java代码  收藏代码
  1. upstream backend{  
  2.       server 192.168.0.1:8080 weight=2;  
  3.       server 192.168.0.2:8080 weight=3;  
  4. }  


weight值和负载权重成正比,weigh默认为1,weight越大,负载越高

3、按照来源ip分配

Java代码  收藏代码
  1. 根据hash(ip)的结果设置访问服务器,ip不变的情况下,访问的服务器也是固定的  
  2. upstream backend{  
  3.       ip_hash;  
  4.       server 192.168.0.1:8080;  
  5.       server 192.168.0.2:8080;  
  6. }  



4、根据服务器响应时间分配

Java代码  收藏代码
  1. 需要安装 Upstream Fair Balancer Module  
  2. upstream backend{  
  3.       fair;  
  4.       server 192.168.0.1:8080;  
  5.       server 192.168.0.2:8080;  
  6. }  



5、自定义hash(url_hash)

Java代码  收藏代码
  1. 需要安装Upstream Hash Module,使得想同url访问同一台服务器  
  2. upstream backend{  
  3.       server 192.168.0.1:8080;  
  4.       server 192.168.0.2:8080;  
  5.       hash $request_uri;  
  6. }  



此外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机器,应急措施

posted on 2014-05-26 17:58  拾贝杂苑  阅读(500)  评论(0编辑  收藏  举报

导航