Keep It Simple.Stupid.

Don Fisher's Blog

Nginx负载均衡的几种策略

一、普通轮询(默认方式)

# 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

upstream polling_strategy { 

 server donfisher.cn:8080;

server donfisher.cn:8081;

}

二、权重轮询(指定权重)

#指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

upstream weight_strategy { 

 server donfisher.cn:8080 weight=1;

server donfisher.cn:8081 weight=4;

}

指定权重之后,nginx将会以指定的权重进行轮询分发,可以应用于后端配置不均衡的服务器。缓解低配服务器压力。

三、ip_hash(按IP地址区域)

upstream ip_hash_strategy { 

 ip_hash; 

 server donfisher.cn:8080;

server donfisher.cn:8081;

}

配置了ip_hash之后,每个请求按访问ip头部三位的hash结果分配,这样每个区域的访客固定访问一个后端服务器。可以实现按区域管理服务器。注意ip_hash算法不是将整个访问ip都经过hash计算,而是只hash地址中的前三位。这样的好处在于,每个局域网内或者相邻的区域的ip前三位的都是相同的,都访问同一个服务器,

四、fair(第三方插件,按相应时间)

upstream fair_strategy { 

 server donfisher.cn:8080;

 server donfisher.cn:8081;

 fair;

}

这种负载均衡方式需要安装第三方插件,按后端相应时间长短分配,相应时间越短,分配越多。

以上就是Nginx的几种常用的负载均衡方式,可以根据不同的业务需求采用合理的负载均衡。



标签: : 序列模型 序列 python

0 条评论

想说点什么呢