Nginx多种负载均衡策略搭建

轮询

轮询,顾名思义,就是轮流请求,基于上篇文章的介绍,我们将负载均衡策略聚焦于default.conf文件的upstream。

upstream backend { server web02:80; server web03:80; } 复制代码

在浏览器中对localhost:8080连续发出请求,根据nginx请求日志可以看出web02与web03访问的次数是相同的。

 

加权轮询

加权轮询是指基于上文中的轮询,加上一定的权重,使得某个服务器被转发的次数更多一些,加权通过在IP后方拼接weight实现。

upstream backend { server web02:80 weight=5; server web03:80 weight=1; } 复制代码

weight值越大,所分配的请求就越多,根据nginx的请求日志可以看出web02被访问了8次,web03被访问了两次。

 

ip_hash

如果一个客户端的请求可能被转发到任何一台服务器,可能会导致每台服务器都缓存了该客户端的信息,比较浪费资源,ip_hash作用就是通过客户端IP的前三个部分计算出key,以便将同一个客户端的请求转发到指定的服务器中,配置的方法比较简单,只需要在upstream上方加一行代码即可。

upstream backend { ip_hash; server web02:80; server web03:80; } 复制代码

重复请求了5次,通过日志看出请求一直被锁定在了web03上。

 

url_hash

这种模式是将url进行哈希,然后定位到具体的某一台服务器,相同的url永远会被转发到同一台服务器上。

upstream backend { hash $request_uri; server web02:80; server web03:80; }

通过浏览器访问两次http://localhost:8080,通过日志可以看到转发被固定在了web03。

 

作者:平也

链接:https://juejin.im/post/5d14b1a45188255ca21e5ddb

来源:掘金

程序员开发出的产品最终并不是程序员赚的多。为什么呢?程序员应该有什么样的商业思维。欢迎关注: BPcollege 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值