加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

Nginx负载均衡算法

发布时间:2020-12-13 20:49:35 所属栏目:Nginx 来源:网络整理
导读:? 负载均衡用来解决用户请求到来时如何选择 upstream server 进行处理,这里主要介绍几种负载均衡算法。 1、round-robin: 轮询,默认负载均衡算法,即以轮询的方式将请求转发到上游服务器,通过配合weight配置可以实现基于权重的轮询。 upstream bakend { s

?

负载均衡用来解决用户请求到来时如何选择 upstream server 进行处理,这里主要介绍几种负载均衡算法。
1、round-robin:轮询,默认负载均衡算法,即以轮询的方式将请求转发到上游服务器,通过配合weight配置可以实现基于权重的轮询。

upstream bakend {    
server 192.168.1.1:8080 weight=1;    
server 192.168.1.2:8080 weight=1;    
} 

?

2、weight:权重,weight用来配置权重,默认都是1,权重越高分配给这台服务器的请求就越多,需要根据服务器实际处理能力设置权重。

;    
server 192.168.1.2:8080 weight=2;    
} 

?

3、ip_hash:根据客户IP进行负载均衡,即相同的IP将负载均衡到同一个upstream server。

upstream bakend {
ip_hash;    
server 192.168.1.1:8080 weight=1;    
} 

?

4、hash key:对某一个key进行哈希或者使用一致性哈希算法进行负载均衡。

  • 哈希算法:此处是根据请求uri进行负载均衡。
upstream bakend { 
hash $uri;   
server 192.168.1.1:8080 weight=1;    
} 
  • 一致性哈希算法:consistent_key 动态指定。
$consistent_key consistent;   
server 192.168.1.1:8080 weight=1;    
} 

?

5、least_conn:将请求负载均衡到最少活跃连接的上游服务器。如果配置的服务器较少,则将转而使用基于权重的轮询算法。

upstream bakend { 
least_conn;   
server 192.168.1.1:8080 weight=1;    
} 

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读