`
xitong
  • 浏览: 6198235 次
文章分类
社区版块
存档分类
最新评论

nginx的五种负载算法模式

 
阅读更多

nginx 负载均衡5种配置方式

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
例如:
upstream bakend {
server 192.168.0.14 weight=10;
server 192.168.0.15 weight=10;
}

3、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
例如:
upstream bakend {
ip_hash;
server 192.168.0.14:88;
server 192.168.0.15:80;
}

4、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream backend {
server server1;
server server2;
fair;
}

5、url_hash(第三方)

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

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

upstream backend {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}

tips:

upstream bakend{#定义负载均衡设备的Ip及设备状态
ip_hash;
server 127.0.0.1:9090 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup;
}
在需要使用负载均衡的server中增加
proxy_pass http://bakend/;

每个设备的状态设置为:
1.down 表示单前的server暂时不参与负载
2.weight 默认为1.weight越大,负载的权重就越大。
3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
4.fail_timeout:max_fails次失败后,暂停的时间。
5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

nginx支持同时设置多组的负载均衡,用来给不用的server来使用。

client_body_in_file_only 设置为On 可以讲client post过来的数据记录到文件中用来做debug
client_body_temp_path 设置记录文件的目录 可以设置最多3层目录

location 对URL进行匹配.可以进行重定向或者进行新的代理 负载均衡

分享到:
评论

相关推荐

    基于lua的nginx自定义负载均衡

    基于lua的nginx自定义负载均衡基于lua的nginx自定义负载均衡

    基于Nginx负载均衡的动态改进算法_张宇星.pdf

    本文将分析Nginx服务器负载均衡的体系架构,研究默认的加权轮询算法,并提出一种改进后的动态负载均衡算法,实时收集负载信息,重新计算并分配权值。通过实验测试,对比不同算法下的负载均衡性能,改进后的算法能有效提高...

    nginx安装包(udp负载均衡实现版)

    原生的nginx不支持真正的udp负载均衡(无法使用upstream的check模块),该版本可以支持udp的负载均衡。具体安装方法可参考博客(https://blog.csdn.net/weixin_42114013/article/details/102581226)

    一种基于Nginx的负载均衡算法实现

    为了满足日益增长的网站访问量对服务器的需求,提出了一种基于Nginx的负载均衡算法,并完成算法的软件实现。该算法能在高并发的情况下选择合适的后台服务器,充分利用硬件资源,减少系统阻塞或延时。测试结果表明,...

    Nginx负载均衡特点

    Nginx的特点是: ... 2、Nginx对网络的依赖比较小; 3、Nginx安装和配置比较简单,测试起来比较方便; 4、也可以承担高的负载压力且稳定,一般能支撑超过1万... 另外默认的只有Round-robin和IP-hash两种负载均衡算法。

    简单了解Nginx七层负载均衡的几种调度算法

    主要介绍了简单了解Nginx七层负载均衡的几种调度算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    几种典型的负载均衡算法

    其中介绍了负载均衡的原理及相关算法,能够帮助你快速理解负载均衡

    深入浅析nginx四种调度算法和进阶

    主要介绍了深入浅析nginx四种调度算法和进阶,文中给大家提到了upstream 支持4种负载均衡调度算法,需要的朋友可以参考下

    Nginx 负载均衡算法及故障转移解析

    主要介绍了Nginx 负载均衡算法及故障转移解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    浅谈Nginx七层反向代理和负载均衡

    1.2 Nginx的负载均衡实现原理:首先在http模块中配置使用upstream模块定义后台的web server的池子,名为proxy-web,在池子中我们可以添加多台后台webserver,其中状态检查、调度算法都是在池子中配置;然后在serverr...

    详解Java实现负载均衡的几种算法代码

    本篇文章主要介绍了详解Java实现负载均衡的几种算法代码 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Nginx服务器做负载均衡反向代理的超级攻略

    在 upstream 中可以定义负载均衡调度算法,权重,健康状态检测等参数。 例如: upstream backend { server 172.16.0.1:80 weight=1 max-fails=3 fail_timeout=10; server 172.16.0.2:80 weight=1max-fails=3 fail...

    架构设计:负载均衡层设计方案(2)——Nginx安装1

    1、Nginx重要算法介绍Nginx是什么,请自行百度 2、Nginx的安装2.1、准备工作操作系统:centOS 6.5 3、进阶Nginx在安装完成后,不用

    负载均衡的基本知识以及使用nginx进行负载均衡的简单例子

    nginx一般可以用于七层的负载均衡,这篇文章将介绍一些负载均衡的基本知识以及使用...负载均衡常见有如下几种算法: 负载均衡演示实例:普通轮询 接下来使用nginx来演示一下如何进行普通轮询: 事前准备 事前在70

    从零开始的Nginx详解(5)【Nginx-负载均衡】

    测试三、Nginx负载均衡算法四、Nginx相关文章链接 演示环境: 系统版本:CentOS Linux release 7.7.1908 (Core) nginx版本:nginx/1.16.1 当然讲解还是官方最棒:英语和俄语大佬请点击这里移步官网 一、负载均衡...

    nginx-1.16.0.zip

    Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。nginx-1.16.0.zip是nginx的windows安装版本.

    nginx课程笔记文件.zip

    其中有nginx怎样配置负载均衡,图片服务器,资源压缩,黑白名单限制,websocket反向代理,rewrite重写规则,服务器缓存设置,ssl证书配置,keepalive部署nginx集群,openResty部分介绍(漏桶算法流程图)等

Global site tag (gtag.js) - Google Analytics