LVS

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

工作在四层仅作分发之用,通过vrrp协议转发,具体流量由linux内核处理,没有流量的产生

稳定性、可靠性好,自身有完整的双机热备方案,如LVS+keepalived

应用范围比较广,可以对所有应用做负载均衡

配置性比较低,减少人为出错的概率,既是优点也是缺点,

软件本身不支持正则处理,不能做动静分离

如果网站应用过于庞大,实施配置及维护都非常复杂

 

Nginx

  工作在OSI第7层(新版本也可做四层代理,但部署麻烦,一般不用),可以针对http应用做一些分流的策略,如针对域名、目录结构

正则比haproxy更为强大和灵活

对网络依赖较小,理论上能ping通就能进行负载均衡

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

也可以承担高的负载压力且稳定,一般能支撑超过10000的并发

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

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

能够作为web服务器即cache功能

仅能支持http、https、email协议,适用范围较小

不支持session的直接保持,但能通过ip_hash来解决

 

HAProxy

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

能够补充nginx的一些缺点,如session的保持,cookie的引导等工作

支持url检测

更多的负载均衡策略,如动态加权轮循、加权源地址哈希等

单纯从效率上来讲HAProxy会比nginx有更出色的负载均衡速度

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

不能做web服务器和cache