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