有软件负载均衡,也有硬件负载均衡,选择哪个?

数据流量过大的网络中,单一设备一般是无法承担的,需要多台设备进行数据分流,而负载均衡器就是起到把数据分流到多台设备的作用。

负载均衡也分了不少技术,用以满足不同的需求,有软/硬件负载均衡、本地/全局负载均衡、更高网络层负载均衡,以及链路聚合技术。

我们用了软负载均衡,也用了硬件负载均衡,下面我们说说这两个各自的千秋。

一.软件负载均衡

指在服务器的操作系统上,安装软件,来实现负载均衡,如Nginx负载均衡。它的优点是基于特定环境、配置简单、使用灵活、成本低廉,可以满足大部分的负载均衡需求。

(1)软件负载均衡主要有Nginx,LVS

Nginx是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 可以说Nginx 是目前使用最为广泛的HTTP软负载均衡器,同时因高效的性能、稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名于业界。像腾讯、淘宝、新浪等大型门户及商业网站都采用Nginx进行HTTP网站的数据分流。

(2)Nginx的功能特点

1、工作在网络的7层之上,可以做一些分流策略策略。

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

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

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

5、Nginx可以通过端口检测到服务器内部的故障,提示负载节点是否正常。;

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

(3)Nginx的原理

Nginx采用的是反向代理技术,代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给网络上请求连接的客户端,此时代理服务器对外就表现的,就像为一个服务器。反向代理负载均衡技术是把来自网络上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。

二.硬件负载均衡

直接在服务器和外部网络间安装负载均衡硬件设备,这种设备我们通常称之为负载均衡器。由专门的设备完成,独立于操作系统,整体性能得到大量提高,加上更多的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。 一般来说,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵,很常见的有 F5负载均衡器。

(1)F5负载均衡器介绍

F5负载均衡器是应用交付网络的全球领导者F5 Networks公司提供的一个负载均衡器专用设备,F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速缓存、Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYN Flood保护、防火墙—包过滤、包消毒等功能。

(2)F5负载均衡器的功能介绍:

1.F5 BIG-IP提供12种灵活的算法将所有流量均衡的分配到各个服务器,而面对用户而言,只是一台虚拟服务器。

2.F5 BIG-IP可以确认应用程序能否对请求返回对应的数据。假如F5 BIG-IP后面的某一台服务器发生服务停止、死机等故障,F5会检查出来并将该服务器标识为宕机,从而不将用户的访问请求传送到该台发生故障的服务器上。这样,只要其它的服务器正常,用户的访问就不会受到影响。宕机一旦修复,F5 BIG-IP就会自动查证应用已能对客户请求作出正确响应并恢复向该服务器传送。

3.F5 BIG-IP具有动态Session的会话保持功能。

4.F5 BIG-IP的iRules功能可以做内容过滤,根据不同的域名、URL,将访问请求传送到不同的服务器上。

硬件负载均衡与软件负载均衡优缺点对比:

硬件负载均衡方式(F5)

优点:能够直接通过智能交换机实现,处理能力更强,而且与系统无关,负载性能强更适用于一大堆设备、大访问量、简单应用

缺点:成本高,除设备价格高昂,而且配置冗余.很难想象后面服务器做一个集群,但最关键的负载均衡设备却是单点配置;无法有效掌握服务器及应用状态.

硬件负载均衡,一般都不管实际系统与应用的状态,而只是从网络层来判断,所以有时候系统处理能力已经不行了,但网络可能还来得及反应(这种情况比较典型,比如应用服务器后面内存已经占用很多,但还没有彻底不行,如果网络传输量不大就未必在网络层能反映出来)

软件负载均衡方式(Nginx)

优点:基于系统与应用的负载均衡,能够更好地根据系统与应用的状况来分配负载。这对于复杂应用是很重要的,性价比高,实际上如果几台服务器,用F5之类的硬件产品显得有些浪费,而用软件就要合算得多,因为服务器同时还可以跑应用做集群等。

缺点:负载能力受服务器本身性能的影响,性能越好,负载能力越大。

综述:对我们系统环境来说,由于负载均衡器本身不需要对数据进行处理,性能瓶颈更多的是在于后台服务器,通常采用软负载均衡器已非常够用,可以无逢的和我们系统平台相结合。

硬件负载均衡应用场景,更多的是大量后台服务器,大量数据处理分发,比如每秒上十万的数据并发,这样需要选择一个合适的硬件负载均衡设备。

如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,
咱们下期见!学习更多JAVA知识与技巧,关注与私信博主(666)

软件负载均衡和硬件负载均衡的选择相关推荐

  1. DNS 负载均衡、硬件负载均衡和软件负载均衡

    当单服务器的性能无法满足业务需求时,就需要设计高性能集群来提升系统整体的处理性能. 高性能集群的复杂性主要体现在需要增加一个任务分配器,以及为任务选择一个合适的负载均衡器.负载均衡不只是为了计算单元的 ...

  2. mysql 硬负载_软负载均衡和硬负载均衡

    一.负载均衡 负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 负载均衡,英文名称为 Load ...

  3. 负载均衡 一直跑一个服务器_终于把服务器负载均衡和客户端负载均衡讲清楚了...

    服务端负载均衡 我们常说的负载均衡都是指服务端负载均衡,服务端负载均衡又分为硬件负载均衡,软件负载均衡. 硬件负载均衡主要是在各服务器节点 前加上负载均衡的设备,如F5 软件负载均衡主要指的是在服务器 ...

  4. 软负载均衡和硬负载均衡

    一.负载均衡(Load Balance) 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 负载均 ...

  5. 详解【负载均衡】(负载均衡算法、一致性hash、负载均衡架构分析)

    作者:duktig 博客:https://duktig.cn 优秀还努力.愿你付出甘之如饴,所得归于欢喜. 本文源码参看:https://github.com/duktig666/distribute ...

  6. 有软件负载均衡,也有硬件负载均衡,选择哪个?

    笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道"墙",将请求分发到web服务器后,web服务器上的Nginx再进行处理,静 ...

  7. 硬件负载均衡和软件负载均衡

    LB 简单比较 – F5.NetScaler.LVS.Nginx.Haproxy 负载均衡技术是构建大型网站必不可少的架构策略之一.它的目的是,把用户的请求分发到多台后端的设备上,用以均衡服务器的负载 ...

  8. 软/硬件负载均衡产品 你知多少?

    随着人们对网络的需求越发强烈,不同行业,不同类别的网站越来越多.以Web为核心的业务平台,对于网站的稳定性来说有着比较高的要求.伴随着核心业务的扩展,访问量和数据流的增加,单纯的网络架构有时候就显得捉 ...

  9. Linux负载均衡脚本,linux负载均衡软件设置(一)

    很多负载均衡的软件配置都是在linux操作系统下完成的,那么对于不太熟悉linux的朋友,肯能对于负载均衡的配置问题就比较多了.那么现在笔者为大家总结一下linux下的负载均衡设置过程,包括了系统的安 ...

最新文章

  1. 损失函数之Cross-Entropy介绍及C++实现
  2. log4j配置报错:ERROR Failed to load driver.ClassNotFoundException.
  3. html 判断是苹果几个版本号,这是我第一次遇到判断ios系统版本的问题
  4. Akka并发编程——第五节:Actor模型(四) 停止Actor
  5. Microsoft将Linux带至桌面操作系统
  6. 关于id Tech5的MegaTexture技术
  7. html5+中奖结果页面,html5+css3实现抽奖活动的效果
  8. python的xml.dom学习笔记
  9. xercesimpl做什么用的_一体化泵站是用来做什么的有什么用
  10. 高并发与负载均衡-nginx-反向代理概念
  11. chrome 模拟点击_详解爬虫模拟登陆的三种方法
  12. 小甲鱼C++笔记(上)1-24
  13. Introduction to Computer Networking学习笔记(二十八):DNS
  14. 微信小程序位置定位php,【微信开发】微信小程序通过经纬度计算两地距离php代码实现...
  15. 藏在耳机里的小东西——蓝牙天线
  16. Confluence 摘要(Excerpt)宏
  17. 小学计算机教师集体备课计实,小学科学集体备课记录(年.doc
  18. win10 下 升级 npm
  19. Python基础入门知识(11)
  20. 弱网测试工具-qnet

热门文章

  1. vue图片裁剪固定尺寸/vue-cropper的使用
  2. android 11 机型,安卓11支持机型介绍-安卓11正式版支持机型大全
  3. 中小型医院基础网络解决方案
  4. linux shell的一些注意点,以及一些代码示例
  5. 基于C#实现的巧移火柴棍(火柴棍移动)
  6. 2021哈九中高考成绩查询,2021哈尔滨中考生人数或创新高?9大重点600分竞争力排行榜...
  7. Knockout学习(3)之observableArray,监控数组,列表(循环绑定)
  8. 关于spec的学习理解
  9. 有五种颜色的球若干,分别取出三种球,要求颜色各不相同,并输出每一个情况
  10. 项目总结——Java web之实现当当网网站