0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

聊聊Nginx作为负载均衡器它支持的算法都有哪些?

阿铭linux 来源:阿铭linux 2023-02-14 17:50 次阅读

前言

Nginx作为一款最流行WEB服务器软件,同时也是一款反向代理和负载均衡软件。毫不夸张地说,Nginx在负载均衡领域绝对是老大地位,这得益于它的高并发和稳定性。而且在配置使用上也是非常简单,维护也特别容易。那么本篇文章就来聊聊Nginx作为负载均衡器,它支持的算法都有哪些?

Nginx支持的算法汇总

Nginx并不像LVS那样支持多达10种负载均衡算法,它默认支持4种算法,另外还可以通过自定义三方模块来支持更多的三方算法,下面我只列出来两种常见的。

算法 说明
轮询 默认的算法,如果配置中不指定就走这个算法
Weight 带权重的轮询算法,权重越高被请求的次数就越多
ip_hash 根据客户端IP来选择后端服务器
least_conn 会将请求优先发送给连接数最少的后端服务器
fair 三方模块,按后端服务器响应时间来决策
url_hash 三方模块,按访问url的hash结果来分配请求

轮询

按请求发来的顺序逐一分配到不同的后端服务器上,最简单最弱智的负载均衡算法,看似公平,其实并不好,比如后端某台服务器负载很高了,那么还是会雷打不动地被动接收请求。

配置示例如下:

upstreamaminglinux{
    server 192.168.10.11;
    server 192.168.10.12;
}

Weight

相比较默认的轮询算法,这个Weight多加了一层权重的概念。就是说,我们可以人为地给后端服务器定义权重。这样确实可以保证让性能更好的服务器接收更多的请求,正所谓“能者多劳”! 配置示例如下:

upstreamaminglinux{
    server 192.168.10.11 weight=1;
    server 192.168.10.12 weight=3;
}
说明:这个weight定义的值范围为1-255,值越大,那么给到的请求就越多。

Ip_hash

当使用了负载均衡后,那么就意味着,同一个客户端很有可能第一次访问的是A机器,而第二次访问的是B机器,那么这样就会导致,访问A机器时登录了,而访问B机器时是非登录状态。而这个算法主要用来解决此类问题。 该算法下,每个请求按访问IP的哈希结果分配后端服务器,使来自同一个IP的访客固定访问一台后端服务器,这样就解决了上面提到的问题,也就是说所谓的“session共享问题”。

配置示例如下:

upstreamaminglinux{
    ip_hash;
server192.168.10.11;
server192.168.10.12;
}

Least_conn

从字面意思上也可以理解,就是将请求优先分配给后端服务器里连接数最少的服务器。不过,这个算法是和weight配合使用的,它有一个公式:conns/weight,也就是说Nginx会计算连接数除以权重,最终拿这个值进行比对,值越小会优先分配到请求。 配置示例如下:

upstreamaminglinux{
least_con
server192.168.10.11 weight=10;
server192.168.10.12 weight=5;
}

Fair

这是一个三方的算法,需要在编译Nginx时增加nginx-upstream-fair-master模块支持。该算法可以根据后端服务器的响应时间的大小来决定将请求发送给谁,响应时间越快,那么就优先拿到请求。 配置示例如下:

upstreamaminglinux{
fair;
server192.168.10.11;
server192.168.10.12;
}

Url_hash

三方的算法,需要在编译Nginx时增加ngx_http_upstream_hash_module模块支持。该算法按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器。注意:使用该算法后不能带weight。 配置示例如下:

upstreamaminglinux{
hash$request_uri;
server192.168.10.11;
server192.168.10.12;
}





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LVS
    LVS
    +关注

    关注

    1

    文章

    36

    浏览量

    9985
  • Hash算法
    +关注

    关注

    0

    文章

    43

    浏览量

    7425
  • nginx
    +关注

    关注

    0

    文章

    156

    浏览量

    12254

原文标题:Nginx的负载均衡算法你知道都有哪些吗

文章出处:【微信号:aming_linux,微信公众号:阿铭linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    负载均衡器的诞生和工作机制

    今天我们来深度揭秘一下负载均衡器 LVS 的秘密,相信大家看了你管这破玩意儿叫负载均衡?这篇文章后,还是有不少疑问,比如 LVS 看起来只有类似路由器的转发功能,为啥说它是四层(传输层
    的头像 发表于 01-04 12:26 1095次阅读
    <b class='flag-5'>负载</b><b class='flag-5'>均衡器</b>的诞生和工作机制

    机械调控和数控均衡器

    机械调控和数控均衡器         &
    发表于 09-17 09:04

    如何去实现OFDM系统中的均衡器算法

    什么是时变信道中OFDM系统均衡器均衡器算法的FPGA实现
    发表于 04-29 07:29

    如何提高自适应均衡器的性能?

    自适应电缆均衡器是什么?自适应均衡器设计面临哪些技术挑战?如何提高自适应均衡器的性能?
    发表于 05-18 06:04

    均衡器的基本原理是什么?

    均衡器的基本原理是什么?
    发表于 05-20 06:45

    频率均衡器的调控技巧

    频率均衡器的调控技巧 均衡器(EQUALSER)是对声信号频率响应反应及振幅进行调整的电声处理设备。它可以改变声与谐波的成份比、
    发表于 12-12 10:09 3484次阅读

    均衡器的使用误区

    均衡器的使用误区 均衡器的全称是房间均衡器。在音响系统中有广泛的应用,但大多数场合,并没有发挥应有的作用。现举例说明
    发表于 12-12 10:10 1977次阅读

    什么是均衡器

    什么是均衡器 均衡器简介 均衡器是一种可以分别调节各种频率成分电信号放大量的电子设备,通过对各种不同频率的电信号的调节来补偿扬声器和
    发表于 02-05 17:52 3812次阅读

    基于Harr小波的均衡器结构

    在分析传统线性均衡器的基础上, 提出了一种基于Harr 小波的均衡器结构, 并用一组小波来表示均衡器. 之后, 给出了自适应算法, 并对算法
    发表于 11-25 13:40 26次下载
    基于Harr小波的<b class='flag-5'>均衡器</b>结构

    电脑均衡器软件哪个好_电脑均衡器怎么设置才好听

    本文首先介绍了四款电脑均衡器软件,分别是电脑均衡器V2.0 绿色版、均衡器学习软件 V1.0 绿色版、电脑均衡器 2.0 官方最新版以及电脑均衡器
    的头像 发表于 05-24 10:41 8.1w次阅读
    电脑<b class='flag-5'>均衡器</b>软件哪个好_电脑<b class='flag-5'>均衡器</b>怎么设置才好听

    全面剖析HAProxy 负载均衡器

    的功能。 HAProxy 的社区非常活跃,版本更新快速(最新稳定版1.7.2于2017/01/13推出)。最关键的是,HAProxy 具备媲美商用负载均衡器的性能和稳定性。因为 HAProxy 的上述优点
    的头像 发表于 06-28 09:22 2354次阅读
    全面剖析HAProxy <b class='flag-5'>负载</b><b class='flag-5'>均衡器</b>

    解密负载均衡技术和负载均衡算法

    负载均衡器是一种软件或硬件设备,起到了将网络流量分散到一组服务器的作用,可以防止任何一台服务器过载。负载均衡
    的头像 发表于 11-12 09:16 1210次阅读

    如何使用Nginx作为应用程序的负载均衡器

    两台主机安装并配置了Web服务器软件,才能看到使用nginx进行负载平衡的优势。如果我们已经设置了一个正在运行的Web主机,则通过创建自定义图像复制并将其部署到新的Web服务器上。下面是使用
    的头像 发表于 03-23 14:52 1155次阅读

    nginx负载均衡配置介绍

    目录 nginx负载均衡 nginx负载均衡介绍 反向代理与
    的头像 发表于 11-10 13:39 330次阅读
    <b class='flag-5'>nginx</b><b class='flag-5'>负载</b><b class='flag-5'>均衡</b>配置介绍

    了解图形均衡器与参数均衡器的区别

    均衡器是两种主要的均衡器类型,它们在功能和使用上有着明显的区别。 一、图形均衡器(Graphic Equalizer) 图形均衡器是一种固定频点的
    的头像 发表于 12-26 09:35 754次阅读