LVS、HAProxy、LVS三大主流负载均衡器的优缺点!附赠学习资料

LVS

Lvs 是Linux Virtual Server的简称,即Linux虚拟服务器,是负载均衡的一种调度器,现在也已经是linux内核标准的一部分。可见其重要度。(是我们中国人自己研发的开源软件!)

LVS优点:

**1、抗负载能力强:**工作在网络4层之上,仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的,对内存和cpu资源消耗比较低。

**2、配置性比较低:**这是一个缺点也是一个优点,因为没有太多可配置的东西,所以并不需要太多接触,大大减少了人为出错的几率。

**3、工作稳定:**因为其本身抗负载能力很强,自身有完整的双机热备方案,如LVS+Keepalived,不过我们在项目实施中用得最多的还是LVS/DR+Keepalived。

**4、无流量:**LVS只分发请求,而流量并不从它本身出去,这点保证了均衡器IO的性能不会受到大流量的影响。

**5、应用范围比较广:**因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡,包括http、数据库、在线聊天室等等。

LVS的缺点:

1、软件本身不支持正则表达式处理,不能做动静分离;而现在许多网站在这方面都有较强的需求,这个是Nginx/HAProxy+Keepalived的优势所在。

2、如果是网站应用比较庞大的话,LVS/DR+Keepalived实施起来就比较复杂了,特别后面有Windows Server的机器的话,如果实施及配置还有维护过程就比较复杂了,相对而言,Nginx/HAProxy+Keepalived就简单多了。

LVS工作模式:

LVS常用的工作模式有DR模式、TUN模式、以及NAT模式

LVS无论NAT及DR模式,均要求VS和RS在同一个网段内,NAT需要把VS当作各个RS的默认网关, DR模式采用修改mac地址直接从数据链路层转发、要求必须在同一个物理网段内。

Nginx

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强。目前国内很多大厂网站都在使用Nginx,比如:百度、京东、新浪、网易、腾讯、淘宝等。

Nginx优点:

**1、支持高并发:**可以承担高负载压力且稳定,硬件不差的情况下一般能支撑几万次的并发量

2、内存消耗少

3、成本低廉

**4、配置简单:**Nginx安装与配置比较简单,测试也比较方便,基本能把错误日志打印出来。

**5、内置健康检查:**Nginx可以通过端口检测到服务器内部的故障,如根据服务器处理网页返回的状态码、超时等,并会把返回错误的请求重新提交到另一个节点。

**6、节省带宽:**Nginx对网络稳定性的依赖非常小,理论上能ping通就能进行负载功能。

**7、支持热部署:**Nginx支持热部署,它的自动特别容易,并且,几乎可以7天*24小时不间断运行,

Nginx缺点:

1、适应范围较小,仅能支持http、https、Email协议。

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

Nginx工作模式:

Nginx由内核和模块组成。Nginx本身做的工作实际很少,当它接到一个HTTP请求时,它仅仅是通过查找配置文件将此次请求映射到一个location block.而此location中所配置的各个指令则会启动不同的模块去完成工作,因此模块可以看做Nginx真正的劳动工作者。

通常一个location中的指令会涉及一个handler模块和多个filter模块(当然,多个location可以复用同一个模块)。handler模块负责处理请求,完成响应内容的生成,而filter模块对响应内容进行处理。用户根据自己的需要开发的模块都属于第三方模块。正是有了这么多模块的支撑,Nginx的功能才会如此强大。

HAProxy

HAProxy提供高可用性、负载均衡,以及基于TCP(第四层)和HTTP(第七层)的应用程序代理。特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。

HAProxy优点:

1、支持虚拟主机,可以工作在4、7层(支持多网段)

2、支持Session的保持,Cookie的引导;同时支持通过获取指定的url来检测后端服务器的状态。

3、单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的。

4、HAProxy可以对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡。

5、HAProxy负载均衡策略多样

HAProxy缺点:

1、不支持POP/SMTP协议、SPDY协议

3、不支持HTTP cache功能。即不能做Web服务器

4、重载配置的功能需要重启进程,虽然也是soft restart,但没有Nginx的reaload更为平滑和友好。

5、多进程模式支持不够好

HAProxy工作模式:

HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。

LVS、HAProxy、LVS对比

接下来给大家分享一下这三款软件的学习资料,大家可以保存收藏!

LVS负载均衡学习资料:

新手快速掌握Nginx无敌教程:

HAProxy学习资料:

点击链接获取完整文档

※部分文章来源于网络,如有侵权请联系删除;更多文章和资料|点击后方文字直达 ↓↓↓

100GPython自学资料包
阿里云K8s实战手册
阿里云CDN排坑指南
ECS运维指南
DevOps实践手册
Hadoop大数据实战手册
Knative云原生应用开发指南
OSS 运维实战手册
云原生架构白皮书
Zabbix企业级分布式监控系统源码文档
10G大厂面试题戳领

LVS、HAProxy、LVS三大主流负载均衡器的优缺点(附赠学习资料)相关推荐

  1. 软件级负载均衡器(LVS/HAProxy/LVS)的特点简介和对比

    现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术: 一种是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler.F5.Radware和Array等商用的 ...

  2. 三大主流框架的优缺点

    本文重要一一向大家介绍Hibernate.Struts和Spring优缺点,下面给大家简单加以说明,希望对大家的学习和工作有所帮助. 1.struts struts框架具有组件的模块化,灵活性和重用性 ...

  3. 三大主流软件负载均衡器对比(LVS VS Nginx VS Haproxy)

    2019独角兽企业重金招聘Python工程师标准>>> LVS: 1.抗负载能力强.抗负载能力强.性能高,能达到F5硬件的60%:对内存和cpu资源消耗比较低 2.工作在网络4层,通 ...

  4. 【系统架构】三大主流软件负载均衡器(LVS、Nginx、HAproxy) 与商业SLB比较

    主流软件负载均衡概要: 1.LVS: 1. 抗负载能力强,性能高,能达到F5的60%,对内存和CPU资源消耗比较低     2. 工作在网络4层,通过VRRP协议(仅作代理之用),具体的流量是由lin ...

  5. Nginx/LVS/HAProxy 负载均衡软件的优缺点详解

    Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术,具体的应用需求还得具体分析. 如果是中小型的Web应用,比 ...

  6. Nginx/LVS/HAProxy负载均衡软件的优缺点详解

    PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...

  7. (总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解 (转载)

    一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用D ...

  8. 软件级负载均衡器(LVS/HAProxy/Nginx)的特点简介和对比

    本文出自 "抚琴煮酒" 博客,出处http://andrewyu.blog.51cto.com/1604432/697466   现在网站发展的趋势对网络负载均衡的使用是随着网站规 ...

  9. haproxy LVS nginx的比较

    现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术: 一种是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler.F5.Radware和Array等商用的 ...

最新文章

  1. Sql server Insert执行的秘密(下) 带外键的INSERT分析
  2. C#操作注册表全攻略
  3. 几句话描述简单算法——排序与搜索
  4. python中如何将字符串连接在一起,多倍的字符串如何输出
  5. boost::detail::lexical_cast_stream_traits用法的测试程序
  6. git 在 A 项目中引用 B 项目
  7. laytpl遍历实体列表_Layui数据表格之获取表格中所有的数据方法
  8. 五天学习Mysql数据库教程(一)1.1数据库的基本概念
  9. LeetCode 153 寻找旋转排序数组中的最小值
  10. 读SRE Google运维解密有感(一)
  11. 十行代码实现高仿Promise
  12. linux查看硬件信息及驱动设备
  13. 《水经注地图发布服务中间件4.0》性能测试报告
  14. 黑群晖DSM7.1.0物理机安装教程
  15. bat批处理命令:实现读取文件内容,并调用浏览器打开网址,搜索文件内容
  16. 论文参考文献尾注引用方法
  17. 计算机主板供电故障,电脑主板内存电路常见故障的检修
  18. 1 PDFLib9的安装 及 demo
  19. 笔记 GWAS 操作流程5-2:利用GEMMA软件进行LMM+PCA+协变量
  20. 随机对照双盲实验的设计模式

热门文章

  1. 迅为IMX6Q核心板应用方案
  2. 采用工具软件不同 计算机,采用工具软件不同,计算机动画文件的存储格式也就不同。以下几种文件的格式那一种不是计算机动画格式(??)...
  3. 三相异步电动机交流调压调速的仿真研究
  4. 服务器向所有浏览器响应数据,浏览器工作原理与实践总结一
  5. java实现下载器(2)
  6. Vue中引入并使用动态图标
  7. Java在控制台输出带颜色字符的两种方式
  8. html5读取剪切板 内容,实践笔记:js解析剪切板里的excel内容
  9. 制约软件产业发展的三要素
  10. 递归实现放小球(整数划分)问题