nginx配置---upstream

一、普通轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某台服务器宕机,故障系统被自动剔除,使用户访问不受影响。

upstream api { 
server 192.168.0.1:8081; 
server 192.168.0.2:8081; 
} 

二、加权轮询

weight 指定轮询的权值,weight值越大,分配到的访问机率越高,此策略主要用于后端每个服务器性能不均的情况下。

upstream api { 
server 192.168.0.1:8081 weight=10; 
server 192.168.0.2:8081 weight=20;#被访问记录大
} 

三、ip_hash

每个请求按访问IP的hash结果分配,这样来自同一个IP的访客固定访问一个后端服务器,可以解决session不能跨服务器的问题。当然如果这个节点不可用了,会发到下个节点,而此时没有session同步的话就注销掉了。

upstream api { 
ip_hash; 
server 192.168.0.1:8081; 
server 192.168.0.2:8081; 
} 

四、least_conn

请求被发送到当前活跃连接最少的后端服务器。会考虑weight的值。如果有多个后端服务器的 conns 值同为最小的,那么对它们采用加权轮询算法(weight)。

upstream api {
    least_conn;
    server 192.168.0.1:8081; 
    server 192.168.0.2:8081; 
}

五、fair

根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持 fair 的,如果需要使用这种调度算法,必须下载Nginx的 upstream_fair 模块。

upstream api { 
server 192.168.0.1:8081; 
server 192.168.0.2:8081; 
fair; 
} 

六、url_hash

此方法按访问 url 的 hash 结果来分配请求,使每个 url 定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。Nginx 本身是不支持 url _ hash 的,如果需要使用这种调度算法,必须下载 Nginx 的 nginx_upstream_hash 模块。

upstream api { 
server 192.168.0.1:8081; 
server 192.168.0.2:8081; 
hash $request_uri; 
hash_method crc32;  
} 

转载于:https://www.cnblogs.com/mliu/p/11174954.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值