负载均衡器:LVS、Nginx、HAproxy如何选择?

目录


实际应用中,Web 服务器集群的上层要有一台负载均衡服务器,负载均衡设备的任务就是作为 Web 服务器流量的入口,挑选最合适的一台 Web 服务器,将客户端的请求转发给它处理。

根据流量(并发量)来选型

  • 流量比较小(每日 PV 小于 100 万):使用Nginx或者Hproxy(推荐使用Nginx)。

  • 流量很大(每日 PV 大于 100 万):使用LVS。


LVS

  • LVS属于四层负载,即工作在传输层
  • 处理请求的方法 :请求数据经过 LVS网络,响应数据由后端服务器的网络返回。 LVS采用的是同步转发,LVS 服务器接收到请求之后,立即 redirect 到一个后端服务器,由客户端直接和后端服务器建立连接。
  • 效率高:LVS 是 Linux 内核的一部分,直接在内核级别实现。所以LVS 具有非常高的效率和较低的延迟
  • 性能佳 :由于在内核级别实现,LVS 能够处理非常高的并发连接数
  • 配置简单:配置相对简单,但功能较少。通常与其他工具(如 Keepalived)结合使用来实现高可用性和管理。
  • 扩展性低:主要依靠内核升级来获得新功能

LVS由于是基于四层的转发所以只能做端口的转发,而基于URL的、基于目录的这种转发LVS就做不了


Nginx

  • 工作在第7层,应用层,可以针对http应用做一些分流的策略。比如针对域名、目录结构。它的正则比HAProxy更为强大和灵活;

  • Nginx对网络的依赖非常小,理论上能ping通就就能进行负载功能

  • Nginx安装和配置简单

  • 可以承担高的负载压力且稳定,一般能支撑超过几万次的并发量;

  • Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器。Nginx在处理静态页面、特别是抗高并发方面相对apache有优势;

  • Nginx作为Web反向代理加速缓存越来越成熟,速度比传统的Squid服务器更快

  • Nginx处理请求的方法:请求和响应数据都会经过 Nginx。

    Nginx采用的是异步转发。可以做到:如果一个服务器请求失败,立即切换到其他服务器,直到请求成功或者最后一台服务器失败为止。可以最大程度的提高系统的请求成功率。异步转发:Nginx 在保持客户端连接的同时,发起一个相同内容的新请求到后端,等后端返回结果后,由 Nginx 返回给客户端。


HAProxy

  • HAProxy是支持虚拟主机的,可以工作在4、7层(支持多网段);
  • 能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作;
  • 支持url检测后端的服务器;
  • 它跟LVS一样,本身仅仅就只是一款负载均衡软件;单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的;
  • HAProxy可以对Mysql读进行负载均衡,对后端的MySQL节点进行检测和负载均衡,不过在后端的MySQL slaves数量超过10台时性能不如LVS;
  • HAProxy的算法较多,达到8种;

总结

  • HAproxy和Nginx由于可以做七层的转发,所以URL和目录的转发都可以做。
  • 在很大并发量的时候我们就要选择LVS,像中小型公司的话并发量没那么大,选择HAproxy或者Nginx足已,由于HAproxy由是专业的代理服务器配置简单,所以中小型企业推荐使用HAproxy

参考

https://www.cnblogs.com/jojoword/p/10835102.html
https://cloud.tencent.com/developer/article/2107913

相关推荐
Csvn28 分钟前
认识 Nginx
后端·nginx
陈希12314 小时前
Nginx 从入门到能扛事:反向代理、负载均衡与 HTTPS 实战
nginx·https·负载均衡
木头左1 天前
【Nginx】内网服务源 IP 白名单实战:动态域名解析放行网段 + 端口接管零改造
运维·nginx·白名单·反向代理
skywalk81631 天前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
没差c1 天前
winsw将jar、nginx等注册为Windows服务
windows·nginx·jar
Lsetea3 天前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
未来之窗软件服务5 天前
WAF负载均衡+蜜罐混淆安全体系-东方仙盟
运维·安全·负载均衡·仙盟创梦ide·东方仙盟·阿雪技术观·网关开发
Linux-lucky5 天前
46-Linux学习之旅之LVS负载均衡与keepalived高可用
linux·运维·学习·ubuntu·负载均衡·lvs
枫叶轻语5 天前
【Nginx 从入门到实战 09】前后端统一入口:部署页面与接口的完整配置
nginx·全栈
无言听风雨丶5 天前
Nginx 深度实战:从架构原理到生产排错
运维·nginx·架构