美文网首页
Linux_328_Nginx负载均衡之调度算法

Linux_328_Nginx负载均衡之调度算法

作者: 为宇绸缪 | 来源:发表于2022-12-06 20:23 被阅读0次

upstream模块调度算法

调度算法一般分几类:

  • 第一类是静态调度算法:负载均衡器根据自身设定的规则进行分配,不需要考虑后端节点的健康情况。例如轮询、加权轮询、哈希类型调度算法。
  • 第二类是动态调度算法,负载均衡器会判断后端节点的当前状态,来决定是否分发请求。例如链接数最少的优先分发,响应时间短的优先分发,如least_conn、fail等都是动态调度。

rr轮询(round-robin)

按照请求顺序逐一分配给不同的后端节点服务器,如果后端节点宕机,宕机的服务器会被自动从地址池中剔除,新的请求会发给正常的服务器。

wrr(权重轮询)

给后端节点服务器增加权重,数值越大,优先获得客户端请求,可以以服务器配置来决定比例大小,从而解决新旧服务器的性能不均衡问题等。

upstream backend {
    server 192.168.178.122 weight=1;
    server 192.168.178.121 weight=5;
}

默认是rr轮询机制。使用systemctl stop network,但是只能在虚拟机上使用

ip_hash
每个请求按客户端IP的hash结果分配,当新的请求到达,将其客户端IP通过哈希算法得到一个唯一值,在随后的客户端请求中,如果客户端的IP哈希值相等,该请求就会固定发给一台服务器。
该调度算法可以解决动态网页中的session共享问题。
注意了使用ip_hash不得再使用weight、backup两个参数,造成冲突了,即使写了也不生效。

upstream chaoge_backend {
    ip_hash;
    server 192.168.178.121;
    server 192.168.178.122;
}

fail
该算法根据后端服务器节点的响应时间来分配,响应时间短的优先分配,该算法根据页面大小和加载时间长短进行负载均衡,nginx本身不支持fail形式,如果要支持该算法,必须下载nginx的upstream_fail模块
用的比较少

upstream chaoge_backend {
fail;
server 192.168.178.121;
server 192.168.178.122;
}

least_conn
该算法根据后端节点的链接数决定分配请求,哪个机器链接数少,就发给谁。一般给闲置的机器加上这个参数

url_hash
和ip_hash类似,该算法根据客户端请求的URL信息进行hash得到唯一值,让每个URL固定的发给同一个后端服务器,后端服务器为缓存服务器效果最佳。
Nginx本身是不支持url_hash的,需要单独安装hash模块
url_hash(web缓存节点)和ip_hash(会话保持)功能类似。
用的比较少

upstream chaoge_backend {
server squid1:3128;
server squid:3128;
hash $request_uri; # 针对当前的请求得到唯一值
hash_method crc32; # hash的算法
}

相关文章

  • Linux_328_Nginx负载均衡之调度算法

    upstream模块调度算法 调度算法一般分几类: 第一类是静态调度算法:负载均衡器根据自身设定的规则进行分配,不...

  • 负载均衡集群介绍、LVS NAT模式搭建、LVS DR模式搭建、

    负载均衡集群介绍 负载均衡集群介绍 LVS介绍 LVS介绍LVS介绍LVS介绍 LVS的调度算法 LVS的调度算法...

  • nginx负载均衡

    负载均衡算法 upstream 支持4种负载均衡调度算法:A、 轮询(默认) :每个请求按时间顺序逐一分配到不同的...

  • 负载均衡集群介绍、LVS介绍、LVS调度算法、LVS NAT模式

    目录 一、负载均衡集群介绍二、LVS介绍三、LVS调度算法四、LVS NAT模式搭建 一、负载均衡集群介绍 负载均...

  • Nginx-5 负载均衡

    一、负载均衡算法 upstream 支持4种负载均衡调度算法 A、轮询(默认):每个请求按时间顺序逐一分配到不同的...

  • Nginx负载均衡

    4 种负载均衡算法 upstream 支持4种负载均衡调度算法: A)轮询(默认):每个请求按时间顺序逐一分配到不...

  • Nginx (4)

    Nginx之负载均衡 Nginx 通过Upstream 模块进行负载均衡。 upstream 支持的负载均衡算法N...

  • 负载均衡调度算法

    负载主机可以提供很多种负载均衡方法,也就是我们常说的调度方法或算法: 轮循(Round Robin) 这种方法会将...

  • day50课堂笔记(Nginx Proxy深入)

    第一章、负载均衡深入 1.1、调度算法 1.11第一类为静态调度算法 1.12第二类动态调度算法 1.2、prox...

  • 常见的负载均衡技术

    1、简述四层和七层负载均衡的特点及Haproxy与LVS之间的对比2、简述Haproxy常见的负载均衡调度算法及应...

网友评论

      本文标题:Linux_328_Nginx负载均衡之调度算法

      本文链接:https://www.haomeiwen.com/subject/amdgfdtx.html