3. nginx的请求转发算法,如何配置根据权重转发

nginx支持的负载均衡调度算法方式如下:

  • 轮询(默认算法):每个请求按时间顺序分配到不同后端服务器,如果某个后端服务器宕机,能自动剔除掉。
  • weight轮询:nginx反向代理接收到客户端收到的请求后,可以给不同的后端服务器设置一个权重值(weight),用于调整不同的服务器上请求的分配率;权重数据越大,被分配到请求的几率越大;该权重值,主要是针对实际工作环境中不同的后端服务器配置进行配置的。比如说有些服务器的硬件配置高,比重就会比较大一点。
    •   
      upstream backend { 
          server 192.168.0.14 weight=10; 
          server 192.168.0.15 weight=10; 
      }

       

  • ip_hash:每个请求按照发起客户端ip的hash结果进行匹配,这样的算法每一个固定的ip地址的客户端总会访问到同一个后端服务器,这也在一定程度上解决了集群部署环境下session共享的问题。
    •   
      upstream backend { 
          ip_hash; 
          server   172.16.125.76:8066 weight=10;  
          server   172.16.125.76:8077 down;  
          server   172.16.0.18:8066 max_fails=3 fail_timeout=30s;  
          server   172.16.0.18:8077 backup;  
      } 

       

  • fair:智能调整调度算法,动态的根据后端服务器的请求处理器的请求处理响应的时间来进行均衡分配,响应时间短,处理效率高的服务器分配到请求的概率高,响应时间长,处理效率低的服务器分配到的请求少;结合了前两者的优点的一种调度算法。但是需要注意的是nginx默认不支持fair算法,如果要使用这种算法,需要安装upstream_fair模块。
  • url_hash:按照访问的url的hash结果分配请求,每个请求的url会指向后端固定的某个服务器,可以在nginx作为静态服务器的情况下提高缓存效率。同样要注意Nginx默认不支持这种调度算法,要使用的话需要安装nginx的hash软件包。

 

 

参考链接:http://www.cnblogs.com/1214804270hacker/p/9325150.html

 

转载于:https://www.cnblogs.com/GrimMjxCl/p/9299242.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一款高性能的开源Web服务器和反向代理服务器,提供了多种转发算法用于负载均衡。以下是Nginx常用的转发算法: 1. 轮询(Round Robin):默认的负载均衡算法Nginx按照请求的顺序依次将请求分配给后端服务器,循环往复。 2. 加权轮询(Weighted Round Robin):可以为每个后端服务器设置不同的权重权重越高,收到的请求比例越大。 3. IP哈希(IP Hash):根据客户端的IP地址进行哈希计算,将同一个IP的请求始终分配给同一个后端服务器,用于保持会话的一致性。 4. 最少连接(Least Connections):将请求分配给当前连接数最少的后端服务器,以实现负载均衡。 5. URL哈希(URL Hash):根据请求的URL进行哈希计算,将同一个URL的请求始终分配给同一个后端服务器。 6. Fair(公平):根据后端服务器的响应时间来分配请求,响应时间短的服务器会得到更多的请求。 以上是Nginx常见的负载均衡转发算法,你可以根据实际需求选择适合你应用场景的算法。在Nginx配置文件中,你可以通过设置`upstream`和`server`来定义后端服务器和转发算法。例如: ``` http { upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; # 设置负载均衡算法为加权轮询 # 使用weight参数设置权重 # 默认权重为1,数值越高,权重越大 # weight越高,接收到的请求比例越大 # weight=0表示暂时不接收请求 ip_hash; } server { listen 80; location / { proxy_pass http://backend; } } } ``` 上述配置中,定义了三个后端服务器,并将负载均衡算法设置为IP哈希。在`location`中使用`proxy_pass`将请求转发给`http://backend`,即后端服务器组。 希望以上信息能够帮助你了解Nginx转发算法。如有任何进一步的问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值