欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科技知识

负载均衡技术有哪些?负载均衡技术的原理介绍

科普小知识2021-10-25 15:33:56
...

随着因特网规模的不断增长,用户对系统反应时间的迅速高效及服务的不间断的要求越来越强烈,不希望访问web site出现系统故障,频繁看到“request TIme out”或者“too busy”。 网络各个单一核心设备根本上也是无法承担因数据流量、业务量和访问量的快速增长,而产生处理能力和计算强度的相应快速增大。在这种情况下,若购买新设备做大量的硬件升级而不使用现有设备利用现有资源,则将必是一种对现有资源的极度浪费。设备的性能无论多卓越,也必然无法满足一次次的业务量提升,硬件的一次次升级成本的一次次高额投入也将是永无止境的资源浪费。在这种现实的社会背景下,人们开始向新的科学技术领域发展,于是诞生了负载均衡技术。负载均衡能够充分的利用现有的网络结构,在网络结构的基础之上扩展服务器的带宽和网络设备、加强网络的可用及灵活性、增加吞吐量、提高网络数据处理能力,从而提供了一种廉价有效透明的方法。

一、负载均衡概述

· 负载均衡的含义

负载均衡听起来比较简单,但是它的具体含义是比较高深的,大体可以分为两个方面:一是将大量数据流或以并发或以单独访问的方式同时分担在多台节点设备这样同时处理信息,使用户等待响应的时间大大的减少,从而大大提高系统的的处理能力;二是将每个重负载信息分摊到各个节点设备上进行分别处理,在每个节点设备处理完成后再进行整合,最后将整合后的处理结果反馈给用户,从而加快信息处理速度,方便用户。

负载均衡是一种动态技术,通过一些工具对数据包进行实时的处理分析,通过对网络中数据流量的状况进行统计分析从而把任务均衡合理的分配出去,加强服务器的宽度和信息流量,使网络数据处理能力得到加强,进一步提高了可用性及灵活性,使流量管理、服务器集群性能、系统性能得到优化。

· 负载均衡的分类

软/硬件

软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。

软件解决方案缺点也较多,因为每台服务器上安装额外的软件运行会消耗系统不定量的资源,越是功能强大的模块,消耗得越多,所以当连接请求特别大的时候,软件本身会成为服务器工作成败的一个关键;软件可扩展性并不是很好,受到操作系统的限制;由于操作系统本身的Bug,往往会引起安全问题。

硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。

负载均衡器有多种多样的形式,除了作为独立意义上的负载均衡器外,有些负载均衡器集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将这一功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群的内部网络上。

一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵。

本地/全局

负载均衡从其应用的地理结构上分为本地负载均衡(Local Load Balance)和全局负载均衡(Global Load Balance,也叫地域负载均衡),本地负载均衡是指对本地的服务器群做负载均衡,全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。

本地负载均衡能有效地解决数据流量过大、网络负荷过重的问题,并且不需花费昂贵开支购置性能卓越的服务器,充分利用现有设备,避免服务器单点故障造成数据流量的损失。其有灵活多样的均衡策略把数据流量合理地分配给服务器群内的服务器共同负担。即使是再给现有服务器扩充升级,也只是简单地增加一个新的服务器到服务群中,而不需改变现有网络结构、停止现有的服务。

全局负载均衡主要用于在一个多区域拥有自己服务器的站点,为了使全球用户只以一个IP地址或域名就能访问到离自己最近的服务器,从而获得最快的访问速度,也可用于子公司分散站点分布广的大公司通过Intranet(企业内部互联网)来达到资源统一合理分配的目的。

全局负载均衡有以下的特点:

实现地理位置无关性,能够远距离为用户提供完全的透明服务。

除了能避免服务器、数据中心等的单点失效,也能避免由于ISP专线故障引起的单点失效。

解决网络拥塞问题,提高服务器响应速度,服务就提近供,达到更好的访问质量。

二、负载均衡的技术及原理图

· 特定服务器上的软件负载均衡

许多网络协议支持重定向功能,HTTP协议对LocaTIon指令支持,接收这个浏览器的指令将会重新定到LocaTIon的另一个URL指令上。由于执行服务请求要比LocaTIon指令负载大的多,可以根据这一特点设计一个新的均衡服务器。当Web服务器上承受的负载比较大的时候,它就避免了浏览器的请求网页被送回的状况,取而代之的是送回一个Locaction指令,这样就可以让浏览器去其它的服务器上获得自己所需要的网页。在这种特定的方式下,服务器的本身首先必须支持这种功能,当然在具体的实践中会遇到许许多多的困难,例如对于一台服务器怎样才能确保它重新定向过的服务器是空闲的还是非空闲的,而且要保证不会第二次次发送Location指令,现在的浏览器毕竟没有这么高级,在这方面的支持能力还是很弱的,这样就会在浏览器上形成一种往复的死循环,所以在现实生活中使用这种在特定服务器上软件的比较少。

· DNS负载均衡技术

在负载均衡技术发展的早期就已经有了DNS负载均衡技术。其实施的方法较为简单,既是在服务器中为多个地址设置相同的名字,在使用DNS查询时,服务器就会对每一个查询结果按照IP地址分别处理,依着不同的解析结果显示,把客户端上的访问引导到不同的机器上,从而达到让不同用户访问不同服务器的负载均衡效果。但是DNS负载均衡技术的缺点就是不能够区分服务器的差异性,不能够刷新时间设置,甚至使客户的请求不能分散在不同的服务器上,从而占取大量的IP地址;但是它也有很多优点:例如它比较经济而且简单并且能够在Internet上的任意位置安置服务器,因此现在有很多大型网站都在使用负载均衡技术。

负载均衡技术有哪些?负载均衡技术的原理介绍

DNS域名解析负载均衡原理图

· NAT负载均衡技术

AT负载均衡技术是将内部的私有网络地址翻译成合法的的网上IP地址的技术,将每一次的连接请求动态转换成内部的服务器的地址,将外部的连接请求引到转换地址的服务器上,进而实现负载均衡。在负载均衡技术中NAT负载均衡相对来说是比较完善的,具有NAT负载均衡的设备大多数处于内部服务器至外部的网关位置,比如路由器、四层交换机、防火墙及专用的负载均衡器……,NAT负载均衡的算法与其它负载技术比灵活,它可以随机选择、最少的连接等使负载得到充分的配。NAT的负载均衡同时也可以通过硬/软件的方法来实现。利用软件的方式来控制NAT负载均衡的设备总会受到电脑带宽及系统自身系统处理能力的约束,再加上NAT处于网络的低层,所以我们就可以把它集成在硬件的设备中,通常使用专用的负载均衡器和第四层交换机来做这样的硬件,第四层交换机具有一项最重要的功能就是使NAT负载均衡进而达到相应的目的。

负载均衡技术有哪些?负载均衡技术的原理介绍

NAT负载均衡原理图

· 基于反向代理的负载均衡

反向代理的负载均衡通常以负载的方式来实现。首先客户端必须指定在代理的服务器上,并将服务器上的连接请求直接发送给代理服务器处理。反向代理的负载均衡方式是指凭借代理服务器进而接受网上的连接请求,然后再将请求转发到内部网络的服务器上,然后再将服务器上得到的结果返回给网上已经请求连接的客户端,此时此刻的代理服务器对外就显示为一个服务器。简而言之反向代理负载均衡就是将来自Internet上的连接请求用反向代理的方式转给内部网络上多台服务器同时进行处理,进而达到负载均衡。

负载均衡技术有哪些?负载均衡技术的原理介绍

反向代理负载均衡原理图

· 混合型负载均衡技术

大型网络中由于各自的规模、硬件设备及提供服务的差异,在多个服务器群里可以再一次的负载均衡或群集起来凭借一个整体来向外界提供服务,从而使之达到最佳性能。我们就把这种独特的方式称之为混合型负载均衡。这种方式有时候也可以用于单台均衡设备,因为这些设备的性能往往不能够满足大量的连接请求。

加权算法的网络负载均衡是混合型负载均衡的一种,服务器monitor设备对每台集群内的服务器用加权算法计算出每台服务器的实时负载权值,负载均衡器将服务器请求发给权值小的服务器进行处理。

W=λ1×CPU+λ2×MEM+λ3×T+λ4×Ct+λ5×Rt,CPU利用率 CPU,内存利用率 MEM,当前网络流量 T,当前连接数 Ct,响应时间 Rt。