nginx 负载均衡5种方式及其服务器几种状态

  1. 轮询

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

    uptream backend{

    server 192.168.200.156:8080;

    server 192.168.200.157:8080;

    server 192.168.200.158:8080;

    }

  2. ip_hash

    nginx中的ip_hash技术能够将某个ip的请求定向到固定的后端服务器,这样客户端的

    ip能够建立起稳定的会话(session)

    upstream backend{

    ip_hash;

    server 192.168.200.156:8080;

    server 192.168.200.157:8080;

    server 192.168.200.158:8080;

    }

    注意:ip_hash在以下情况下不能使用

    1)nginx不是最前端的服务器,ip_hash要求nginx一定是最前端的服务器,否则nginx得不到

    正确的客户端ip,就不能通过ip作hash即键值对中的键值,譬如squid是最前端,后面接着

    nginx,nginx使用ip_hash作负载均衡的话,得到的全都是squid的ip地址

    2)nginx的后端还有其他方式的负载均衡,假如nginx后端有其他nginx作为负载均衡

    那么最前端的nginx使用ip_hash的话,将客户端ip只能定向到固定的后面的nginx

    服务器,而不是真正的服务器.

  3. weight

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

    server 192.168.200.156:8080 weight=10;

    server 192.168.200.157:8080 weight=20;

    server 192.168.200.158:8080 weight=30;

    }

  4. fair(第三方模块:nginx-upstream-fair)

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

    upstream backend{

    fair;

    server 192.168.200.156:8080;

    server 192.168.200.157:8080;

    server 192.168.200.158:8080;

    }

  5. url_hash(第三方模块:nginx-module-url)

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

    upstream backend{

    hash $request_uri;

    server 192.168.200.156:8080;

    server 192.168.200.157:8080;

    server 192.168.200.158:8080;

    }

每个设备的状态设置为:  
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来使用。

时间: 2024-12-30 22:51:22

nginx 负载均衡5种方式及其服务器几种状态的相关文章

Nginx+Keepalived实现Nginx负载均衡及高可用WEB服务器集群

环境:操作系统Centos 6.5 X86_64(final)Nginx-Master:192.168.2.32Nginx-Backup:192.168.3.31VIP:192.168.2.33Web3:192.168.2.29Web4:192.168.2.301.分别在Nginx-Master和Nginx-Backup上安装nginx[[email protected] ~]# rpm -i http://nginx.org/packages/centos/6/noarch/RPMS/ngin

nginx 负载均衡 使用ip_hash方式解决session问题 测试

ip_hash的方式比较弱智,但是在一般情况下是挺有效的~~,如果能保证nginx是最上一层的代理,那么能够得到用户的ip是真实位置,就能做到负载,但是一家公司的所有员工其实走的是同一个ip,那么在这一家公司里其实走的还是同一台服务器~~ 先测试一下这个吧~~,之后再用更叼的方式. 配置nginx的负载模块 upstream localhost { server 127.0.0.1:8081; server 127.0.0.1:8082; } 配置了两个不同的tomcat,结果如下: 刷新后:

企业级Nginx负载均衡与keepalived高可用实战(二)keepalived篇

1.Keepalived高可用软件 1.1.Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx,Haproxy,MySQL等)的高可用解决方案软件. Keepalived软件主要是通过VRRP协议实现高可用功能的.VRRP是Virtual Router Redundancy Pro

【转】nginx 负载均衡 5种方式

nginx 负载均衡 5种方式 原文链接 http://my.oschina.net/u/217063/blog/68842 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况.  例如:  upstream bakend {  server 192.168.0.14 weight=10;  server 192.168.0.15 weight=10; 

nginx如何实现负载均衡以及实现方式

什么是ngnix? Nginx是一个http服务器.是一个使用c语言开发的高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.nginx能够支撑5万并发链接,并且cpu.内存等资源消耗却非常低,运行非常稳定,中国大陆使用nginx网站用户有:百度.京东.新浪.网易.腾讯.淘宝等. NGINX可以用来做什么? 1.反向代理:反向代理(ReverseProxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得

配置nginx+keepalived高可用负载均衡的时候。主从服务器都出现了VIP 阿里云问题

配置nginx+keepalived高可用负载均衡的时候.主从服务器都出现了VIP 出现这问题的场景是在阿里VPS云服务器网络环境中,因为路由交换层禁用了ARP的广播限制,造成KEEPALIVE主备协议无法通过广播的方式进行通信,造成主备两台服务器都强占HAVIP地址,出现同时两台服务器都有VIP地址的情况出现,必须通过配置来指定IP的两台服务器间进行通讯(阿里说明文档中解释只能支持两台使用同一个HAVIP地址),基于以下方法可以的情况下,多备方式用同样的方式也应该可行 ,有需要的兄弟可以测试下

服务器负载均衡的部署方式

作者:virtualadc链接:http://virtualadc.blog.51cto.com/3027116/611592著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 负载均衡的部署方式,简单的可分为串接路由,单臂,透明和服务器直接返回4类. 1. 串接路由模式 (Routed) 路由部署方式中,通常服务器的网关需要指向负载均衡设备,这种情况下的流量处理最简单,负载均衡只做一次目标地址NAT(选择服务器时)和一次源地址NAT(响应客户端报文时) 2. 单臂模式 (On

两台服务器如何互相做nginx负载均衡

环境介绍 192.168.127.131  nginx负载均衡 兼web服务器 192.168.127.130  nginx负载均衡 兼web服务器 每台服务器上面有两个web站点分别是 www.123.com www.hu.com 说明: 准备用dns轮询解析来实现负载均衡,并且在两台server上面还同时启用了Nginx负载均衡,两台服务器是互为负载.前提是两台web服务端的网站内容一致. 配置过程: 在130负载均衡上面的操作: 在 上面编辑一个配置文件 vi /usr/local/ngi

lvs、haproxy、nginx 负载均衡的比较分析

lvs.haproxy.nginx 负载均衡的比较分析 对软件实现负载均衡的几个软件,小D详细看了一下,从性能和稳定上还是LVS最牛,基本达到了F5硬件设备的60%性能,其他几个10%都有点困难. 不过就因为LVS忒牛了,配置也最麻烦了,而且健康检测需要另外配置Ldirector,其他HAPROXY和NGINX自己就用,而且配置超级简单. 所以小D建议,如果网站访问量不是门户级别的用HAPROXY或者NGINX就OK了,到了门户级别在用LVS+Idirector吧 哈哈 lvs和nginx都可以