lvs、nginx和haproxy比较

Nginx/LVS/HAProxy的基于Linux的开源免费的负载均衡软件。

LVS:使用集群技术和linux操作系统实现一个高性能、高可用的服务器,它具有很好的可伸缩性、可靠性和可管理性,是一款强大实用的开源软件。

LVS的优点:

1:抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的,也保证了均衡器I/O的性能不会受到大流量的影响。;

2:lvs是专门的负载均衡软件,对任何应用都可以做负载均衡;

3:工作稳定,因为其本身抗负载能力很强,自身有完整的双机热备方案,目前用的比较多的是lvs+keepalived,比较大型的用的多的是lvs+heartbeat。

4:配置性低,这通常是一大劣势,但同时也是一大优势,因为没有太多可配置的选项,所以除了增减服务器,并不需要经常去触碰它,大大减少了人为出错的几率。

5、基本上能支持所有应用,因为lvs工作在4层,所以它可以对几乎所有应用做负载均衡,包括http、数据库、聊天室等等。

nginx的优点:

1:Nginx的高并发,同时能承载上万个并发连接;

2:nginx有充足的第三方功能模块的支持,主要通过upstream模块进行负载均衡;

3:nginx对网络的依赖较小,理论上只要Ping得通,网页访问正常,nginx就能连得通;

4:工作在网络的7层之上,可以针对http应用做一些分流的策略,它的正则规则比haproxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,nginx单凭这点可利用的场合就远多于lvs了。

nginx的缺点:

1:将Nginx当做反向代理时,负载均衡功能不是很好,对后端服务器的健康检查功能较弱;

2:nginx仅能支持http、https和email协议,这样就在适用范围上面小些,这个是它的缺点;

3:nginx只支持通过端口来检测,不支持通过url来检测。

haproxy的优点:

1:HAProxy是工作在网络4层和7层。haproxy也是专门的负载均衡软件,Haproxy可以负载http,还可以负载均衡MySQL;

2:单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度HAProxy的优点能够补充Nginx的一些缺点,比如支持Session的保持,Cookie的引导;同时支持通过获取指定的url来检测后端服务器的状态;

3:HAProxy是支持虚拟主机的。

总结这么多,我觉得根据不同的需求,不同的功能,可以选择不同的软件类的负载均衡软件,当然也是可以选择硬件类的负载均衡器。

像对于大型的,需要进行高并发的网站或者对网络不太严格的时候,可以使用nginx;

对于大型的Web服务器的时候可以使用haproxy;

对性能有严格要求的时候可以使用lvs,就单纯从负载均衡的角度来说,lvs也许会成为主流,更适合现在大型的互联网公司。

你可能感兴趣的:(服务器,nginx,lvs,haproxy)