Lvs,Nginx,Haproxy的优缺点,适合场景
Nginx/LVS/HAProxy的基于Linux的开源免费的负载均衡软件。
LVS:使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,它具有很好的可伸缩性、可靠性和可管理性,是一款强大实用的开源软件。
LVS的优点:
1.抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的,也保证了均衡器I/O的性能不会受到大流量的影响。
2.LVS是专门的负载均衡软件,对任何应用都可以做负载均衡;
3.工作稳定,因为其本身抗负载能力很强,自身有完整的双机热备方案,目前用的比较多的是LVS+Keepalived,比较大型的用的多的是LVS+Heartbeat。
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的优点能够补充Nginx的一些缺点,比如支持Session的保持,Cookie的引导;同时支持通过获取指定的URL来检测后端服务器的状态;
2:haproxy也是专门的负载均衡软件,Haproxy可以负载Http,还可以负载均衡MySQL;
3:HAProxy是支持虚拟主机的。
总结这么多,我觉得根据不同的需求,不同的功能,可以选择不同的软件类的负载均衡软件,当然也是可以选择硬件类的负载均衡器。
像对于大型的,需要进行高并发的网站或者对网络不太严格的时候,可以使用Nginx;
对于大型的Web服务器的时候可以使用Haproxy;
对性能有严格要求的时候可以使用LVS,就单纯从负载均衡的角度来说,LVS也许会成为主流,更适合现在大型的互联网公司。