nginx负载均衡的五种算法

nginx负载均衡的五种算法nginx负载均衡的五种算法一、Nginx负载均衡算法1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。例如:upstreambakend{server192.168.0.1;server192.168.0.2;}2、weight(轮询权值)we…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

nginx负载均衡的五种算法

一、Nginx负载均衡算法

1、轮询(默认)

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

例如:

upstream bakend {  
    server 192.168.0.1;    
    server 192.168.0.2;  
}

2、weight(轮询权值)

weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。或者仅仅为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。

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

upstream bakend {  
    server 192.168.0.1 weight=10;  
    server 192.168.0.2 weight=10;  
}

3、ip_hash

每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题。

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
例如:

upstream bakend {  
    ip_hash;  
    server 192.168.0.1:88;  
    server 192.168.0.2:80;  
} 

4、fair(第三方)

比 weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间 来分配请求,响应时间短的优先分配。Nginx本身不支持fair,如果需要这种调度算法,则必须安装upstream_fair模块。

按后端服务器的响应时间来分配请求,响应时间短的优先分配。
例如:

upstream backend {  
    server 192.168.0.1:88;  
    server 192.168.0.2:80;  
    fair;  
}

5、url_hash(第三方)

按访问的URL的哈希结果来分配请求,使每个URL定向到一台后端服务器,可以进一步提高后端缓存服务器的效率。Nginx本身不支持url_hash,如果需要这种调度算法,则必须安装Nginx的hash软件包。

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

注意:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法。

例如:

upstream backend {  
    server 192.168.0.1:88;  
    server 192.168.0.2:80;  
    hash $request_uri;  
    hash_method crc32;  
}

二、Nginx负载均衡调度状态

在Nginx upstream模块中,可以设定每台后端服务器在负载均衡调度中的状态,常用的状态有:

  1. down,表示当前的server暂时不参与负载均衡
  2. weight 默认为1,weight越大,负载的权重就越大。
  3. backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的访问压力最低
  4. max_fails,允许请求失败的次数,默认为1,当超过最大次数时,返回proxy_next_upstream模块定义的错误。
  5. fail_timeout,请求失败超时时间,在经历了max_fails次失败后,暂停服务的时间。max_fails和fail_timeout可以一起使用。

例如:

upstream bakend{ 
      ip_hash; 
      server 192.168.0.1:90 down; 
      server 192.168.0.1:80 weight=2; 
      server 192.168.0.2:90; 
      server 192.168.0.2:80 backup; 
}

参考博文:https://www.cnblogs.com/lvgg/p/6140584.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182742.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月12日 下午5:00
下一篇 2022年10月12日 下午5:00


相关推荐

  • Matlab mapminmax函数使用及原理[通俗易懂]

    Matlab mapminmax函数使用及原理[通俗易懂]几个要说明的函数接口:[Y,PS]=mapminmax(X)[Y,PS]=mapminmax(X,FP)Y=mapminmax(‘apply’,X,PS)X=mapminmax(‘reverse’,Y,PS)用实例来讲解,测试数据x1=[124],x2=[523];[y,ps]=mapminmax(x1)y=-1….

    2022年6月26日
    61
  • linux下杀死某个进程_shell脚本获取进程号并杀死进程

    linux下杀死某个进程_shell脚本获取进程号并杀死进程在做项目的时候经常会出现程序死机、锁死、无响应等情况,这时候就需要找到程序相应的进程将其杀掉即可。步骤如下:1.定位进程top命令:可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。输入top后可以看到如下的界面,实时显示进程情况。ps命令:processstatus的简称,用于报告当…

    2026年4月17日
    3
  • C语言运算符优先级(超详细)「建议收藏」

    C语言运算符优先级(超详细)「建议收藏」转自: http://blog.csdn.net/huangblog/article/details/8271791每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖!C语言运算符优先级优先级运算符名称或含义使用

    2022年10月5日
    3
  • 串口服务器调试助手使用教程,comassistant串口调试助手使用说明.pdf

    串口服务器调试助手使用教程,comassistant串口调试助手使用说明.pdf作者:温子祺wenziqi@wenziqi@单片机多功能调试助手简介单片机多功能调试助手简介单单片片机机多多功功能能调调试试助助手手简简介介1111简介图1单片机多功能调试助手单片机多功能调试助手一款集串口/USB/网络调试、进制转换、字模与数码管字型码制作、常用校验值计算、UNICODE码转换、位图输出C文件等众多功能于一身的综合型调试软件,最值得庆幸的是该软件会一直保持更新,并支持在…

    2022年6月12日
    34
  • 分布式 mybatis-plus 逻辑删除不生效 升级后org.mybatis.logging.LoggerFactory报错[通俗易懂]

    分布式 mybatis-plus 逻辑删除不生效 升级后org.mybatis.logging.LoggerFactory报错[通俗易懂]解决方案:第一步:升级mybatisplus版本到3.2.0第二步.多添加一个扩展包<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-extension</artifactId&gt…

    2022年6月2日
    60
  • 各大OJ刷题平台汇总

    前言想成为一名高级工程师,算法还是要有的,至少在入门编程和进入公司之前都是必备的。刷题也可以很好的锻炼动手能力和逻辑思维,今天就给大家介绍一些知名的在线刷题平台,都是干货哦!力扣(leetcode)江湖人尽皆知的站点,全球知名的编程平台!总部在美国旧金山的硅谷,创办与2011年,2018年进入中国,并推出付费服务,19年推出力扣App。力扣为全球程序员提供了专业的IT技术职业化提升平台,有效帮助程序员实现快速进步和长期成长(度说)。特点:支持c++,c,java,python,Rust,kot

    2022年4月4日
    1.0K

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号