lvs、Nginx和haproxy比较

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介:

硬件厂家:NetScaler、F5、Radware和Array

软件:LVS、Nginx、HAProxy

 

LVS:

  • 工作在第4层,没有网络流量,抗负载能力强,对于服务器的硬件要求除了网卡外,其他没有太多要求;

  • 配置性较低,同时减少人为出错的原因;

  • 有双机热备LVS+Keepalived和LVS+Heartbeat,用的多是LVS/DR+keepalived;

  • 没有流量,均衡器I/0不会受大流量影响;

  • 对所有应用都可以做负载均衡,如其他应用(mysql)做负载均衡;

  • 存在虚拟IP概念,需要向IDC多申请一个IP来做虚拟IP

  • 不支持正则;

  • 不能做动静分离,很多网站有较强的要求;

  • 网站庞大的话,配置维护复杂


NGINX:

  • 工作在7层上,可以针对http应用做一些分流策略,如域名、目录结构;

  • 支持正则,比HAProxy更灵活,大众喜欢的原因之一;

  • 网络依赖小,能ping通就能实现负载均衡;

  • 安装配置简单;

  • 承受高负载,一般有几万的并发量;

  • 通过端口检测服务器内部故障,如返回状态码、超时等,再将失败请求转发给另一节点;

  • 不仅是负载均衡/反向代理服务器,还是web服务器;

  • 做为反向代理加速器,比squid更快;

  • 缺陷是不能通过URI检测故障;

  • 仅仅支持http和email,有局限性;

  • 三种调度默认算法: 轮询、weight以及ip_hash(可以解决会话保持的问题);

  • 支持第三方的fair和url_hash等调度算法


HAProxy:

  • 工作在7层上,支持虚拟主机;

  • 弥补Nginx的缺陷,支持Session的保持,Cookie的引导等;

  • 本身就是负载均衡服务器,并发和速率优于Nginx;

  • 对mysql读进行负载均衡,支持节点检测,一般超过10台用LVS+keepalived;

  • 支持多种算法:动态加权轮循(Dynamic Round Robin)、加权源地址哈希(Weighted Source Hash)、加权URL哈希、加权参数哈希(Weighted Parameter Hash)










本文转自 huangzp168 51CTO博客,原文链接:http://blog.51cto.com/huangzp/1915678,如需转载请自行联系原作者
相关实践学习
小试牛刀,一键部署电商商城
SAE 仅需一键,极速部署一个微服务电商商城,体验 Serverless 带给您的全托管体验,一起来部署吧!
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
打赏
0
0
0
0
235
分享
相关文章
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
297 3
【亮剑】在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。
【4月更文挑战第30天】本文介绍了在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。HAProxy是一个高性能的开源TCP和HTTP负载均衡器,适合处理大量并发连接;Nginx是一个多功能Web服务器和反向代理,支持HTTP、HTTPS和TCP负载均衡,同时提供缓存和SSL功能;Keepalived用于监控和故障切换,通过VRRP实现IP热备份,保证服务连续性。文中详细阐述了如何配置这三个工具实现负载均衡,包括安装、配置文件修改和启动服务,为构建可靠的负载均衡系统提供了指导。
245 0
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
311 7
Nginx进程配置指令详解
Nginx进程配置指令主要包括:`worker_processes`设置工作进程数;`worker_cpu_affinity`绑定CPU核心;`worker_rlimit_nofile`设置最大文件描述符数量;`worker_priority`设置进程优先级;`worker_connections`设置最大连接数;`daemon`控制守护进程模式;`master_process`启用主进程模式;`pid`设置PID文件路径;`user`指定用户和组;`error_log`配置错误日志。这些指令在`nginx.conf`中配置,用于优化和控制Nginx的运行行为。
80 10
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等