lvx、nginx负载均衡区别

lvs nginx haproxy 对比
都可以做负载均衡;工作方式和应用场景各有特点;

一、lvs Linux 虚拟 服务;

1、可以应用支持协议:
ftp http dns telnet smtp smtp 、
2、lvs 负载 算法:
轮叫调度、加权轮叫、最少链接、加权最小链接、基于局部的最少链接,
3、配置实现方式:   NAT 实现 优点:可以减少共有地址,支持任何操作系统的TCP
/IP 协议; 缺点:服务器伸缩限制,   IP 隧道实现虚拟虚拟服务器 有IP 隧道开销;   DR 直接路由实现虚拟服务器 (数据响应可以独立返回给客户端)

特点:

1、LVS 只在网络层,做请求分发,没有流量,所以可以进行分配线路分流;
2、本身资源消耗低,IO性能不会收到大的流量; 3、配置较少,直接ipvsadm 添加机器; 4、不能判断节点故障;后端服务出现故障,请求到了就会直接返回错误。

二、Nginx  负载算法:

1、轮询
2、加权轮询 3、ip_hash 4、url_hash 5、还有个 fair (根据文件请求加载时间进行负载,需要
pstream_fair 模块

nginx 做负载均衡在应用层

1、主要在应用层 http 和 mail 的负载均衡;
2、但是 nginx 可以和 http 上对服务分流;静态分离,针对域名,或者目录结构; 3、支持Rewrite 重写规则;节省带宽 支持GZIP压缩;
4、通过端口进行后端健康检查,后端服务宕机不影响前端访问;
5、nginx 也可以做缓存;

三、HAproxy 多用于 mysql 集群,作mysql 读取负载;

1、支持两种代理模式:TCP(四层)和HTTP(七层),支持虚拟主机;
2、能够补充 Nginx 的一些缺点比如Session的保持,Cookie 的引导等工作 ;不过 nginx ip_hash 可以实现 会话保持,
3、支持url检测后端的服务器出问题的检测会有很好的帮助。
4、更多的负载均衡策略比如:动态加权轮循(Dynamic Round Robin),加权源地址哈希(Weighted Source Hash),加权URL哈希和加权参数哈希(Weighted Parameter Hash)已经实现
5、单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度。
6、HAProxy 可以对 Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡。
7、支持负载均衡算法:Round-robin(轮循)、Weight-round-robin(带权轮循)、source(原地址保持)、RI(请求URL)、rdp-cookie(根据cookie)
8、不能做Web服务器即Cache。

四、其他负载均衡 有 heartbeat F5

五、F5
流量负载;
可以做4~7层的负载均衡;检查宕机,从而不会将用户的访问请求传送到故障机器上。
可以做 动态 Session 的会话保持;

原文地址:https://www.cnblogs.com/sharesdk/p/9518415.html