负载均衡软件之NginX

冯唐易老,李广难封。对于硬件设备来说,当你喜欢它的时候,它却慢慢老去;当你熟悉它的时候,它可能已经远远落后于时代。而软件,一个新版本又一个新版本出现,迎接时代的脚步;

前进、前进,在宽阔的路上前进;

奔跑、奔跑,在希望的路上奔跑。

这就是软件和硬件的不同。

能够实现负载均衡的软件或者方法有很多,而NginX是其中的优秀者。

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有(可能):新浪、网易、腾讯等。

Nginx 可以在大多数 Unix以及相关操作系统上上编译运行,并有 Windows 移植版。 在高连接并发的情况下,Nginx是Apache服务器不错的替代品,能够支持高达 50,000 个并发连接数的响应。

Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。它已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及MicrosoftWindows。Nginx有自己的函数库,并且除了zlib、PCRE和OpenSSL之外,标准模块只使用系统C库函数。而且,如果不需要或者考虑到潜在的授权冲突,可以不使用这些第三方库。

NginX的一些特性,一家之言,仅供参考。

优点:

1.   Nginx安装和配置比较简单,测试起来比较方便;

2.   Nginx对网络的依赖非常小,理论上能ping通就就能进行负载功能;

3.   NginX是基于第7层负载均衡设备,可以针对http应用做一些分流的策略,比如针对域名、目录结构,支持正则表达式;

4.   NginX能承担50,000个并发连接数的响应;

5.   Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过不支持url来检测服务器不可用的情况;

6.   Nginx也能用作Web应用服务器。LNMP现在也是非常流行的web架构,大有和以前最流行的LAMP架构分庭抗争之势,在高流量的环境中也有很好的效果。

缺点:

不支持带参数的动态链接,比如read.jsp?id=1,因为Nginx缓存只保存文件名,所以这个链接只在文件系统下保存为read.jsp,这样用户访问read.jsp?id=2时会返回不正确的结果。

不支持首页和二级目缓存,比如http://www.csdn.com/ 和http://www.csdn.com/img/,因为Nginx会将这样的请求照链接写入文件系统,而这个链接显然是一个目录,所以保存失败。这些情况都需要写rewrite才能正确保存。

Nginx缓存内部没有缓存过期和清理的任何机制,这些缓存的文件会永久性地保存在机器上,如果要缓存的东西非常多,那就很快会写满整个磁盘,必须要监控磁盘容量以及定时处理;

Nginx不会自动选择内存或硬盘作为存储介质,一切由配置决定,如果都存在硬盘上,那么就有可能大并发读取造成的io性能问题。

只能缓存200状态码,因此后端返回301/302/404等状态码都不会缓存,假如恰好有一个访问量很大的伪静态链接被删除,那就会不停穿透导致后端承载不小压力。

F5和NginX方案优缺点对比:

基于硬件的方式(F5)

优点:能够直接通过智能交换机实现,处理能力更强,而且与系统无关,负载性能强更适用于一大堆设备、大访问量、简单应用;如果出了故障,有专业的支撑团队处理问题;如果是硬件本身的故障,那么责任清晰;

缺点:成本高,设备价格高昂,而且配置冗余。机房租恁、电费开销很大,而且需要培训专业人员。与此同时这个负载均衡设备是单点配置;

硬件负载均衡,与应用软件的结合一般是松耦合的,一般都不深入实际系统与应用的状态,一般都是从网络层或者静态页面的返回值来判断,所以有时候系统处理能力已经不行了,但是网络或者静态页面还能响应,硬件负载不能及时响应。

基于软件的方式(Nginx)

优点:基于系统与应用的负载均衡,能够更好地根据系统与应用的状况来分配负载。这对于复杂应用是很重要的,性价比高,实际上如果几台服务器,用F5之类的硬件产品显得有些浪费,而用软件就要合算得多,因为服务器同时还可以跑应用做集群等。

缺点:负载能力受服务器本身性能的影响,性能越好,负载能力越大。和应用结合太紧密,如果一个公司有很多的应用需要使用负载均衡设备,那么这不是一个好选择。如果这个系统出现故障,责任方难确定,如果负责选型的领导当初拍板做的决定,可能要负有领导责任,这个在一些特定场合的公司和情况下,是彻彻底底的灾难。

综述:对我负责的系统应用环境来说,因为运行环境和实际情况的背景要求,只能选择F5。当然,如果是在创业前的互联网公司,Nginx或者其他的软件负载均衡设备,才是最佳选择。

时间: 2024-10-10 07:04:20

负载均衡软件之NginX的相关文章

Nginx/LVS/HAProxy负载均衡软件的优缺点详解

PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的:大型网站或重要的服务,且服务器比较多时,可以考虑用LVS. 一种是通过硬件来进行进行,常见的硬件有比较昂

(总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解

PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的:大型网站或重要的服务,且服务器比较多时,可以考虑用LVS. 一种是通过硬件来进行进行,常见的硬件有比较昂

Nginx/LVS/HAProxy负载均衡软件的优缺点详解(转)

原文:http://www.ha97.com/5646.html PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的:大型网站或重要的服务,且服务器比较多时

Nginx/LVS/HAProxy 负载均衡软件的优缺点对比

Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术,具体的应用需求还得具体分析. 如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的:大型网站或重要的服务,且服务器比较多时,可以考虑用LVS. 目前关于网站架构一般比较合理流行的架构方案:Web前端采用Nginx/HAProxy+Keepalived作负载均衡器:后端采

Nginx、LVS及HAProxy负载均衡软件的优缺点详解

提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的:大型网站或重要的服务,且服务器比较多时,可以考虑用LVS. 一种是通过硬件来进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护.缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用:另外一种就是类似于Nginx/LVS

Nginx/LVS/HAProxy 负载均衡软件的优缺点详解

一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的:大型网站或重要的服务,且服务器比较多时,可以考虑用LVS. 一种是通过硬件来进行进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护.缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使

总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解

总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解 PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的:大型网站或重要的服务,且服务器比较多时

Nginx、LVS、HAProxy负载均衡软件的优缺点

PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的:大型网站或重要的服务,且服务器比较多时,可以考虑用LVS. 一种是通过硬件来进行进行,常见的硬件有比较昂

Nginx/LVS/HAProxy负载均衡软件的优缺点

一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的:大型网站或重要的服务,且服务器比较多时,可以考虑用LVS. 一种是通过硬件来进行进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护.缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使