三大主流(LVSNginxHAproxy)负载均衡对比,你了解吗?

Posted 程序江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三大主流(LVSNginxHAproxy)负载均衡对比,你了解吗?相关的知识,希望对你有一定的参考价值。

最近会用到负载均衡软件在应用层做一层代理,来进行代理转发,解决单台机器的瓶颈,对比了一下比较流行的负载均衡软件

1.LVS (Linux虚拟服务器)

三大主流(LVS、Nginx、HAproxy)负载均衡对比,你了解吗?


   1.抗负载能力强,性能高,能达到F5的60%,对内存和cpu资源消耗比较低

   2.工作在网络4层,通过VRRP协议(仅做代理使用),具体的流量是由liunx内核来处理,因此没有流量的产生。

   3.稳定,可靠性强,自身有完美的热备方案(Keepalived+LVS)

   4.不支持正则处理,不能做动静分离

   5.支持多种负载均衡算法:rr(轮询),wrr(带权轮询)、lc(最小连接)、wlc(带权最小连接)

   6.配置相对复杂,对网络依赖比较大,稳定性很高。

   7.LVS工作模式有4种:

    (2)dr直接路由

    (3)tun隧道

    (4)full-nat

2.nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。


三大主流(LVS、Nginx、HAproxy)负载均衡对比,你了解吗?


1.工作在网络7层,可以针对http应用做一些分流的策略,比如针对域名,目录  结构

  2.Nginx对网络的依赖较小,理论上能ping通就能进行敷在功能

  3.Nginx安装配置比较简单,测试起来很方便

  4.也可以承担较高的负载压力且稳定,Nginx是为了解决c10k问题而诞生的

  5.对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测

  6.Nginx对请求的异步处理可以帮助节点服务器减轻负载压力

  8.不支持Session的直接保持,但能通过ip_hash来解决,对Big request header的支持不是很好

  9.Nginx还能做Web服务器即Cache功能。

3.HAproxy

  1.支持两种代理模式:TCP(四层)和HTTP(七层),支持虚拟主机

  2.能够补充Nginx的一些缺点比如Session的保持,Cookie引导等工作

  3.支持url检测后端的服务器出问题的检测会有很好的帮助。

 5.单纯从效率上来讲HAproxy更会比Nginx有更出色的负载均衡

 6.HAproxy可以对mysql进行负载均衡,对后端的DB节点进行检测和负载均衡

 8.不能做Web服务器即Cache。

综上述对比

1.网站建设初期,可以选用Nginx、HAproxy作为反向代理负载均衡(流量不大时可以选择不用负载均衡)因为其配置简单,性能也能满足一般业务场景。如果考虑到负载均衡器是有单点失败问题,可以采用Nginx+Keepalived避免负载均衡器自身单点问题。

 2.网站并发达到一定程度后,为了提高稳定性和转发效率,可以使用LVS,毕竟LVS比Nginx/HAproxy要更稳定,转发效率也高。



以上是关于三大主流(LVSNginxHAproxy)负载均衡对比,你了解吗?的主要内容,如果未能解决你的问题,请参考以下文章

三大主流软件负载均衡器对比(LVSNginxHAproxy)

三大主流软件负载均衡器对比(LVSNginxHAproxy)

负载均衡原型(LVSNginxHAProxy)

LVSHAProxyLVS三大主流负载均衡器的优缺点!附赠学习资料

三大主流负载均衡软件对比(LVS+Nginx+HAproxy)

三大主流软件负载均衡器对比(LVS VS Nginx VS Haproxy)