现在网络中常见的的负载均衡主要分为两种:一种是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler、F5、Radware和Array等商用的负载均衡器,也有类似于LVS、Nginx、HAproxy的基于Linux的开源的负载均衡策略,

商用负载均衡里面NetScaler从效果上比F5的效率上更高。对于负载均衡器来说,不过商用负载均衡由于可以建立在四~七层协议之上,因此适用面更广所以有其不可替代性,他的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用。

另一种负载均衡的方式是通过软件:比较常见的有LVS、Nginx、HAproxy等,其中LVS是建立在四层协议上面的,而另外Nginx和HAproxy是建立在七层协议之上的,下面分别介绍关于

LVS:使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,它具有很好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability)。

LVS的特点是:

1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生;

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

3、工作稳定,自身有完整的双机热备方案;

4、无流量,保证了均衡器IO的性能不会收到大流量的影响;

5、应用范围比较广,可以对所有应用做负载均衡;

6、LVS需要向IDC多申请一个IP来做Visual IP,因此需要一定的网络知识,所以对操作人的要求比较高。

Nginx的特点是:

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

2、Nginx对网络的依赖比较小;

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

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

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

6、Nginx对请求的异步处理可以帮助节点服务器减轻负载;

7、Nginx能支持http和Email,这样就在适用范围上面小很多;

8、不支持Session的保持、对Big request header的支持不是很好,另外默认的只有Round-robin和IP-hash两种负载均衡算法。

HAProxy的特点是:

1、HAProxy是工作在网络7层之上。

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

3、支持url检测后端的服务器出问题的检测会有很好的帮助。

4、更多的负载均衡策略比如:动态加权轮循(Dynamic Round Robin),加权源地址哈希(Weighted Source Hash),加权URL哈希和加权参数哈希(Weighted Parameter Hash)已经实现

5、单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度。

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

现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术:

第一阶段:利用Nginx或者HAProxy进行单点的负载均衡,这一阶段服务器规模刚脱离开单服务器、单数据库的模式,需要一定的负载均衡,但是仍然规模较小没有专业的维护团队来进行维护,也没有需要进行大规模的网站部署。这样利用Nginx或者HAproxy就是第一选择,此时这些东西上手快,配置容易,在七层之上利用HTTP协议就可以。这时是第一选择

第二阶段:随着网络服务进一步扩大,这时单点的Nginx已经不能满足,这时使用LVS或者商用F5就是首要选择,Nginx此时就作为LVS或者F5的节点来使用,具体LVS或者F5的是选择是根据公司规模,人才以及资金能力来选择的,这里也不做详谈,但是一般来说这阶段相关人才跟不上业务的提升,所以购买商业负载均衡已经成为了必经之路。

第三阶段:这时网络服务已经成为主流产品,此时随着公司知名度也进一步扩展,相关人才的能力以及数量也随之提升,这时无论从开发适合自身产品的定制,以及降低成本来讲开源的LVS,已经成为首选,这时LVS会成为主流。

最终形成比较理想的状态为:F5/LVS<—>Haproxy<—>Squid/Varnish<—>AppServer。

参考文章:http://sudone.com/nginx/nginx_vs_lvs.html

几种网络负载均衡方法比较相关推荐

  1. mysql 高并发 集群架构_一种高并发的GPU集群架构及其负载均衡方法技术

    [技术实现步骤摘要] 一种高并发的GPU集群架构及其负载均衡方法 本专利技术属于GPU集群架构及其负载均衡方法 ,特别是涉及一种高并发的GPU集群架构及其负载均衡方法. 技术介绍 GPU因其高性能的并 ...

  2. Windows 2008 R2_NLB网络负载均衡(图文详解)(转)

    目录 前言 软件环境 DNS域名服务器 DNS服务器原理 DNS域名空间 DNS区域 DNS服务器的类别 DNS查询模式 缓存文件 配置DNS服务器 DNS服务的应用 新建子域 在DNS正向解析中新建 ...

  3. F5/LVS/Nginx/HAProxy硬软件级网络负载均衡介绍

    F5/LVS/Nginx/HAProxy硬软件级网络负载均衡介绍 1 硬件级的负载均衡 常见的商用硬件负载均衡器:NetScaler.F5.Radware.Array 优点: 1)专业团队维护,能够直 ...

  4. practice:在win2008R2上使用(NLB)网络负载均衡

    版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.关于NLB的官方描述,在搭建NLB群集之前,必须先对NLB的原理进行初步了解 Windows Server 2008 R2 中的网络负载平衡 ( ...

  5. 现代网络负载均衡和代理技术

    作者:Matt Klein 译者:杨泽 原题:Introduction to modern network load balancing and proxying 关于现代网络负载均衡和代理(prox ...

  6. IPVS -三种IP负载均衡技术与八种调度算法

    三种IP负载均衡技术        在调度器的实现技术中,IP负载均衡技术是效率最高的.在已有的IP负载均衡技术中有通过网络地址转换(Network Address Translation)将一组服务 ...

  7. 万字雄文讲透现代网络负载均衡和代理技术,终于弄懂负载均衡那点事

    2019独角兽企业重金招聘Python工程师标准>>> 最近我注意到,针对负载均衡和代理这两项现代网络技术,有教育意义的介绍性材料相当稀缺.这引起我的思考:为什么会这样?在可靠的分布 ...

  8. PF_RING 的多种负载均衡方法

    PF_RING 的多种负载均衡方法 1.简介 负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡.分摊到多个操作单元上进行运行,例如FTP服务器.Web服务器.企业核 ...

  9. nlb连接服务器不设虚拟ip,使用微软NLB(网络负载均衡)技术组建Wss站点

    <使用微软NLB(网络负载均衡)技术组建Wss站点>由会员分享,可在线阅读,更多相关<使用微软NLB(网络负载均衡)技术组建Wss站点(15页珍藏版)>请在人人文库网上搜索. ...

最新文章

  1. 是小厂全栈好,还是大厂专业工程师好?
  2. 图像拼接--Creating full view panoramic image mosaics and environment maps
  3. Ubuntu Vmwaretools安装说明
  4. 如何理解Bounce Rate和Exit Rate
  5. 虚函数指针sizeof不为sizeof(void*)
  6. ADO Entities Framework不对多表查询进行优化?
  7. 每日站立例会01,02,03
  8. [转]史上最全最强SpringMVC详细示例实战教程
  9. Linux 命令(18)—— screen 命令
  10. 嵌入式学习文章推荐+资料下载
  11. 网红护眼色——豆沙绿
  12. 在jsp页面上直接打开pdf文档
  13. 土方量方lisp_时隔3年,再做双倍超立方数的题目,这次用Lisp
  14. 计算机机房管理员需要学什么,机房管理员工作内容
  15. 计算机控制系统++康波,计算机控制系统(康波)第3章习题部分参考解答12[1]
  16. 为内部业务系统(LOB)使用Exchange Online发送匿名邮件
  17. 离线安装geoc_tjj
  18. PHP SDK for sinaweibo
  19. hp socket android,HP-Socket精简示例
  20. LabVIEW TCP网口通讯倍福 BeckhoffPLC ADS 通讯协议

热门文章

  1. mysql查询周数_MySQL:查询中从周数开始的周日期范围
  2. 精选30道Java笔试题解答
  3. 【Linux】10.安装和开启ftp服务
  4. Pytorch搭建Faster R-CNN目标检测平台
  5. 保存处理后的视频文件
  6. Tomcat性能调优-JVM监控与调优
  7. 《Effective STL》学习笔记(第二部分)
  8. Python计算机视觉:第六章 图像聚类
  9. (十六)spring cloud微服务分布式云架构-集成项目简介
  10. POJ 3922 A simple stone game(K倍减法游戏)