nginx负载均衡的5种策略(转载)

12人阅读 评论(0) 收藏 举报
分类:

nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个。

nginx的upstream目前支持的5种方式的分配


1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstream backserver {
server 192.168.0.14;
server 192.168.0.15;
}

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

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

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

5、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
upstream backserver {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}

在需要使用负载均衡的server中增加

proxy_pass http://backserver/;
upstream backserver{
ip_hash;
server 127.0.0.1:9090 down; (down 表示单前的server暂时不参与负载)
server 127.0.0.1:8080 weight=2; (weight 默认为1.weight越大,负载的权重就越大)
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup; (其它所有的非backup机器down或者忙的时候,请求backup机器)
}

max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

fail_timeout:max_fails次失败后,暂停的时间

查看评论

实现nginx的负载均衡

现在很多企业都采用多台服务器来共同支撑企业的网站,这样不仅可以加快企业网站的访问速度,还可以避免突发情况造成的灾难,但是会由于服务器本身原因或者某些外界因素会造成各个服务器的访问速度不一,这时候我们就...
  • andong154564667
  • andong154564667
  • 2016-08-04 18:31:06
  • 11624

浅谈Nginx负载均衡原理与实现

1 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能...
  • u012517198
  • u012517198
  • 2016-03-17 09:27:16
  • 15166

【Nginx】实现负载均衡的几种方式

要理解负载均衡,必须先搞清楚正向代理和反向代理。正向代理与反向代理【总结】注: 正向代理,代理的是用户。 反向代理,代理的是服务器 什么是负载均衡当一台服务器的单位时间内的访问量越大时,服务器压力就越...
  • qq_28602957
  • qq_28602957
  • 2017-03-12 11:59:53
  • 14222

Nginx简介及使用Nginx实现负载均衡的原理【通俗易懂,言简意赅】

nginx 这个轻量级、高性能的 web server 主要可以干两件事情:   〉直接作为http server(代替apache,对PHP需要FastCGI处理器支持);   〉另外一个功能就是...
  • u014749862
  • u014749862
  • 2016-01-15 10:50:07
  • 56180

Nginx的负载均衡 - 整体架构

Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd   什么是负载均衡   我们知道单台服务器的性能是有上限的,当流量很大时,就需要使用多台服务器来共同提...
  • zhangskd
  • zhangskd
  • 2015-12-12 23:30:26
  • 16532

Nginx的负载均衡的那点事

Nginx的负载均衡的那点事 本节就聊聊采用Nginx负载均衡之后碰到的问题: Session问题文件上传下载 通常解决服务器负载问题,都会通过多服务器分载来解决。常见的解决方案有: 网站入口...
  • andong154564667
  • andong154564667
  • 2016-08-04 17:24:27
  • 4918

linux下的<em>nginx</em>+tomcat<em>负载均衡</em>简单<em>原理</em>

linux <em>nginx</em>+tomcat 负载均衡简单原理,其中以很简单明了的图片流程呈现<em>nginx</em>的<em>负载均衡原理</em>,当然其中也包含负载均衡的实例代码。供学者参考。
  • 2018年04月13日 00:00

nginx负载均衡原理

对于一个大型网站来说,负载均衡是永恒的话题。随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 BIG-IP、Citrix NetScaler、Radware等等,虽然可以解决问题,但...
  • chabale
  • chabale
  • 2013-05-21 14:40:12
  • 13404

nginx负载均衡详解

1:什么是负载均衡负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最...
  • u013628152
  • u013628152
  • 2016-05-14 23:47:59
  • 1694

配置Nginx实现负载均衡

在关于高并发负载均衡一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件、硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中w...
  • Daybreak1209
  • Daybreak1209
  • 2016-06-01 10:45:57
  • 25208
    个人资料
    持之以恒
    等级:
    访问量: 11万+
    积分: 2052
    排名: 2万+
    最新评论