热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LVS、Nginx和HAProxy区别

LVS、Nginx和HAProxy区别LVS优点:高并发连接:LVS基于内核网络层面工作,有超强的承载能力和并发处理能力。单台LVS负载均衡器,可支持上万并发连接。抗负载能力强:是

LVS、Nginx和HAProxy区别

LVS

优点:



  • 高并发连接:LVS基于内核网络层面工作,有超强的承载能力和并发处理能力。单台LVS负载均衡器,可支持上万并发连接。

  • 抗负载能力强:是工作在网络4层之上仅作分发之用,这个特点也决定了它在负载均衡软件里的性能最强,稳定性最好,对内存和cpu资源消耗极低。

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

  • 成本低廉:硬件负载均衡器少则十几万,多则几十万上百万,LVS只需一台服务器和就能免费部署使用,性价比极高。

  • 配置简单:LVS配置非常简单,仅需几行命令即可完成配置,也可写成脚本进行管理。这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率;

  • 支持多种算法:支持多种论调算法,可根据业务场景灵活调配进行使用

  • 支持多种工作模型:可根据业务场景,使用不同的工作模式来解决生产环境请求处理问题。

  • 应用范围广:因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡,包括http、数据库、DNS、ftp服务等等

  • 工作稳定:因为其本身抗负载能力很强,自身有完整的双机热备方案, 如LVS+Keepalived(常用),LVS+Heartbeat。

缺点:



  • 工作在4层,不支持7层规则修改:软件本身不支持正则处理,不能做动静分离,这就凸显了Nginx/HAProxy+Keepalived的优势。

  • 机制过于庞大,不适合小规模应用:如果网站应用比较庞大,LVS/DR+Keepalived就比较复杂了,特别是后面有Windows Server应用的机器,实施及配置还有维护过程就比较麻烦,相对而言,Nginx/HAProxy+Keepalived就简单多了。


Nginx

优点:



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

  2. Nginx对网络的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势所在;

  3. Nginx安装和配置比较简单,测试起来比较方便;

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

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

  6. Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器。LNMP现在也是非常流行的web环境,大有和LAMP环境分庭抗礼之势,Nginx在处理静态页面、特别是抗高并发方面相对apache有优势;

  7. Nginx现在作为Web反向加速缓存越来越成熟了,速度比传统的Squid服务器更快,可以作反向代理加速器;

缺点:



  1. Nginx不支持url来检测。

  2. Nginx仅能支持http和Email,这个它的弱势。

  3. Nginx的Session的保持,COOKIE的引导能力相对欠缺。


HAProxy

优点:



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

  2. 能够补充Nginx的一些缺点比如Session的保持,COOKIE的引导等工作;

  3. 支持url检测后端的服务器;

  4. 它跟LVS一样,本身仅仅就只是一款负载均衡软件;单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的;

  5. HAProxy可以对Mysql读进行负载均衡,对后端的MySQL节点进行检测和负载均衡,不过在后端的MySQL slaves数量超过10台时性能不如LVS;

  6. HAProxy的算法较多,达到8种;


三者对比

LVS: 基于四层的转发,只能做流量调度

HAproxy: 基于四层和七层的转发,是专业的代理服务器

Nginx: WEB服务器,缓存服务器,又是反向代理服务器,可以做基于四层和七层的转发

区别:

LVS只能做端口转发,而基于URL的、基于目录的这种转发LVS就做不了

HAproxy和Nginx由于可以做七层的转发,所以URL和目录的转发都可以做

工作选择:



  • 并发量很大时选择LVS

  • 中小型公司并发量没那么大,选择HAproxy或者Nginx足已

  • 中小型企业推荐使用HAproxy,HAproxy是专业的代理服务器,配置简单

  • 公网ip不足,通过四层负载进行端口调度



推荐阅读
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • 什么是网络数据包代理?为何需要网络数据包代理?为更优的决策获得更全面、精准的数据更严格的安全性更快地解决问题提高主动性更好的投资回报率NPB到底能做什么?冗余数据包去重SSL解密报 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 计算机网络计算机网络分层结构
    为了解决计算机网络复杂的问题,提出了计算机网络分层结构。计算机网络分层结构主要有OSI7层参考模型,TCPIP4层参考模型两种。为什么要分层不同产商 ... [详细]
  • 0x00端口渗透端口扫描端口的指纹信息(版本信息)端口所对应运行的服务常见的默认端口号.尝试弱口令端口爆破hydra端口弱口令NTScanHs ... [详细]
  • c# java socketn 字节流_C#Socket编程详解(一)TCP与UDP简介
    一、TCP与UDP(转载)1、TCP1.1定义TCP(TransmissionControlProtocol)传输控制协议。是一种可靠的、面向连接的协议(eg:打电话)、传输效率低 ... [详细]
  • 实例详解ISA防火墙策略元素
    我们在前面的工作中已经实现了ISA2006的代理服务器功能,接下来我们要实现ISA的访问控制功能。很多公司都有控制员工访问外网的需求,例如有的公司不允许 ... [详细]
  • Azkaban(三)Azkaban的使用
    界面介绍首页有四个菜单projects:最重要的部分,创建一个工程,所有flows将在工程中运行。scheduling:显示定时任务executing:显示当前运行的任务histo ... [详细]
  •   简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。集群主要分为:高可用集群(HighAvailabilityCluste ... [详细]
  • 1.什么是数据库的索引每种查找算法都只能应用于特定的数据结构之上,例如二分查找要求被检索数据有序,而二叉树查找只能应用于二叉查找树上,但是 ... [详细]
  • (转)程序员的十层楼
    为什么80%的码农都做不了架构师?自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外。当然现在中国的许多程序员们对 ... [详细]
  • docker+haproxy 配置rabbitmq负载均衡
    1创建haproxy配置文件vidockerHAProxyconf2编辑配置文件globalmaxconn10000#默认最大连接数log127.0.0.1local0#[er ... [详细]
author-avatar
2分之11989_330
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有