3种LVS/Nginx/HAProxy负载均衡器的对比分析

  • 时间:
  • 浏览:2
  • 来源:uu直播快3_UU快3直播平台

近期朋友刘鑫(紫雨荷雪)的项目成功上线了,PV达到了亿级/日的访问量,最前端用的是HAProxy+Keepalived双机作的负载均衡器 /反向代理,整个网站非常稳定;这我可不能能 更坚定了事先跟老男孩前辈聊的关于网站架构比较合理设计的架构方案:即Nginx /HAProxy+Keepalived作Web最前端的负载均衡器,后端的MySQL数据库架构采用一主多从,读写分离的土土办法,采用LVS+Keepalived的土土办法。

在这里我都会有些要跟朋友儿申明下:全都朋友担心软件级别的负载均衡在高并发流量冲击下的稳定状况,事实是朋友儿通过成功上线的有些网站发现,它们的稳 定性也是非常好的,宕机的否则性微乎其微,全都我现在做的项目,基本上没考虑服务级别的高可用了。相信朋友儿对哪哪几个软件级别的负载均衡软件都否则有了太深的 的认识,下面之后它们的特点和适用场合分别说明下。

Nginx的特点是:

LVS:使用集群技术和Linux操作系统实现一一俩个多 高性能、高可用的服务器,它具有很好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability),感谢章文嵩博士为朋友儿提供没办法 强大实用的开源软件。

四种 是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler、F5、Radware和Array等商用的负载均衡器,它的优点可是我有专业的维护团队来对哪哪几个服务进行维护、缺点可是我花销无需 ,全都对于规模较小的网络服务来说暂时还没办法 可不能能 使用;另外四种 可是我之类LVS/HAProxy、Nginx的基于Linux的开源免费的负载均衡软件策略,哪哪几个都会通过软件级别来实现,全都费用非常低廉,全都我个也比较推荐朋友儿采用第二种方案来实施个人网站的负载均衡需求。

1、Nginx工作在网络的7层,全都它可不能能 针对http应用四种 来做分流策略,比如针对域名、目录底部形态等,相比之下LVS无需说具备原先的功能,所 以 Nginx单凭这点可利用的场合就远多于LVS了;但Nginx有用的哪哪几个功能使其可调整度要高于LVS,全都无缘无故要去触碰触碰,由LVS的第2条优点 看,触碰多了,人为出难题的几率也就会大。

2、Nginx对网络的依赖较小,理论上否则我ping得通,网页访问正常,Nginx就能连得通,Nginx一齐还能区分内外网,否则是一齐拥有内外网的 节点,就离米 单机拥有了备份线路;LVS就比较依赖于网络环境,目前来看服务器在同一网段内否则LVS使用direct土土办法分流,效果较能得到保证。另 外注意,LVS可不能能 向托管商离米 申请多一一俩个多 ip来做Visual IP,貌似是可不能能 用四种 的IP来做VIP的。要做好LVS管理员,真是得跟进学习全都关网络通信方面的知识,就不再是一一俩个多 HTTP没办法 简单了。站长教学网 eduyo.com

3、Nginx安装和配置比较简单,测试起来也很方便,否则它基本能把错误用日志打印出来。LVS的安装和配置、测试就要花比较长的时间了,否则同上所述,LVS对网络依赖比较大,全都事先可不能能 配置成功都会否则网络难题而都会配置难题,出了难题要出理 也相应的会麻烦得多。

4、Nginx也同样能承受很高负载且稳定,但负载度和稳定度差LVS还有哪几个等级:Nginx出理 所有流量全都受限于机器IO和配置;四种 的bug也还是难以出理 的;Nginx没办法 现成的双机热备方案,全都跑在单机上还是风险较大,单机上的事情全都没能说。

5、Nginx可不能能 检测到服务器内部的故障,比如根据服务器出理 网页返回的状况码、超时等等,否则会把返回错误的请求重新提交到原先节点。目前LVS中 ldirectd可不能能 支持针对服务器内部的状况来监控,但LVS的原理使其可不能能 重发请求。重发请求这点,譬如用户正在上传一一俩个多 文件,而出理 该上传的节点刚 好在上传过程中再次冒出故障,Nginx会把上传切到另一台服务器重新出理 ,而LVS就直接断掉了,否则是上传一一俩个多 很大的文件否则一阵一阵要的文件句子,用户否则 会否则而恼火。

6、Nginx对请求的异步出理 可不能能 帮助节点服务器减轻负载,否则我我使用apache直接对外服务,没办法 再次冒出全都的窄带链接时apache服务器否则占用大 量内存而可不能能 释放,使用多一一俩个多 Nginx做apache代理句子,哪哪几个窄带链接会被Nginx挡住,apache上就无需堆积无需 的请求,原先就减少了相 当多的内存占用。这点使用squid都会相同的作用,即使squid四种 配置为不缓存,对apache还是有很大帮助的。LVS没办法 哪哪几个功能,也就无法能 比较。

7、Nginx能支持http和email(email的功能估计比较少人用),LVS所支持的应用在这点上会比Nginx更多。在使用上,一般最前端所 采取的策略应是LVS,也可是我DNS的指向应为LVS均衡器,LVS的优点令它非常适合做有些任务。重要的ip地址,最好交由LVS托管,比如数据库的 ip、webservice服务器的ip等等,哪哪几个ip地址随着时间推移,使用面会没办法 大,否则更换ip则故障会接踵而至。全都将哪哪几个重要ip交给 LVS托管是最为稳妥的,原先做的唯一缺点是可不能能 的VIP数量会比较多。Nginx可作为LVS节点机器使用,一是可不能能 利用Nginx的功能,二是可不能能 利 用Nginx的性能。当然有些层面也可不能能 直接使用squid,squid的功能方面就比Nginx弱不少了,性能上都会所逊色于Nginx。Nginx也 可作为中层代理使用,有些层面Nginx基本上无对手,唯一可不能能 撼动Nginx的就可不能能 lighttpd了,不过lighttpd目前还没办法 能做到 Nginx完整篇 的功能,配置可是我没办法 清晰易读。另外,中层代理的IP也是重要的,全都中层代理也拥一一俩个多多 VIP和LVS是最完美的方案了。具体的应用还得 具体分析,否则是比较小的网站(日PV<50万),用Nginx就完整篇 可不能能 了,否则机器可是我少,可不能能 用DNS轮询,LVS所耗费的机器还是比较 多的;大型网站否则重要的服务,机器不发愁的事先,要多多考虑利用LVS

LVS的特点是:

HAProxy的特点是:

现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术: