网络负载均衡(Network load balancing),是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过负载均衡技术,将外部发送来的请求,均匀分配到对称结构中的每一台服务器上,而接收到请求的服务器则独立地回应客户的请求。

一、网络负载均衡的主要应用

网络负载均衡,主要用于扩展网络设备和服务器的带宽,以及增加吞吐量,加强网络数据处理能力,提高网络的灵活性与可用性,保证即使是在负载很重的情况下,也能作出快速响应,保证服务不中断。

1、DNS负载均衡:在DNS中为多个地址配置同一个名字,查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。

2、代理服务器:代理服务器将请求均匀转发给多台服务器,从而达到负载均衡的目的。

3、负载均衡器:负载均衡器采用各种分配算法把网络请求分散到一个服务器集群中的可用服务器上去,有些负载均衡器集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将负载均衡功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群的内部网络上。当Web服务器为图像服务、安全套接层(SSL)会话或数据库事务而进行优化时,负载均衡器可以发挥特别功效。

二、通过负载均衡可以解决哪些问题?

负载均衡是一种策略,通过重新分配系统负载,使各服务器之间的负载达到相对均衡的状态,从而降低任务的响应时间,提高系统资源的利用率,使系统的性能得以提高。它主要解决以下问题:

1、解决网络拥塞问题,服务就近提供;
2、为用户提供更好的访问质量;
3、提高服务器响应速度;
4、提高服务器及其他资源的利用效率。

三、简单介绍一下几种负载均衡技术

1、 软件负载

基于特定服务器软件的负载均衡:这种技术是利用网络协议的重定向功能来实现负载均衡的,例如在http协议中支持定位指令,接收到这个指令的浏览器将自动重定向到该指令指明的另一个URL(统一资源定位符)上。

由于和执行服务请求相比,发送定位指令对Web服务器的负载要小得多,因此可以根据这个功能来设计一种负载均衡的服务器。一旦Web服务器认为自己的负载较大,它就不再直接发送回浏览器请求的网页,而是送回一个定位指令,让浏览器去服务器集群中的其他服务器上获得所需要的网页。

在这种方式下,服务器本身必须支持这种功能,然而具体实现起来却有很多困难,例如一台服务器如何能保证它重定向过的服务器是比较空闲的,并且不会再次发送定位指令。定位指令和浏览器都没有这方面的支持能力,这样很容易在浏览器上形成一种死循环。因此这种方式实际应用当中并不多见,使用这种方式实现的服务器集群软件也较少。

2、 DNS负载

基于DNS的负载均衡:DNS负载均衡技术是最早的负载均衡解决方案,它是通过DNS服务中的随机名字解析来实现的,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中的一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,它们也就访问不同地址上的Web服务器,从而达到负载均衡的目的。

这种技术的优点是,实现简单、实施容易、成本低、适用于大多数TCP/IP应用;但是,其缺点也非常明显,首先这种方案不是真正意义上的负载均衡,DNS服务器将Http请求平均地分配到后台的Web服务器上,而不考虑每个Web服务器当前的负载情况;如果后台的Web服务器的配置和处理能力不同,最慢的Web服务器将成为系统的瓶颈,处理能力强的服务器不能充分发挥作用;其次未考虑容错,如果后台的某台Web服务器出现故障,DNS服务器仍然会把DNS请求分配到这台故障服务器上,导致不能响应客户端。最后一点是致命的,有可能造成相当一部分客户不能享受Web服务,并且由于DNS缓存的原因,所造成的后果要持续相当长一段时间(一般DNS的刷新周期约为24小时)。所以在国外最新的建设中心Web站点方案中,已经很少采用这种方案了。

3、 交换负载

基于四层交换技术的负载均衡:这种技术是在第四层交换机上设置Web服务的虚拟IP地址,这个虚拟IP地址是DNS服务器中解析到的Web服务器的IP地址,对客户端是可见的。当客户访问此Web应用时,客户端的Http请求会先被第四层交换机接收到,它将基于第四层交换技术实时检测后台Web服务器的负载,根据设定的算法进行快速交换。常见的算法有轮询、加权、最少连接、随机和响应时间等。

4、七层负载

基于七层交换技术的负载均衡:基于第七层交换的负载均衡技术主要用于实现Web应用的负载平衡和服务质量保证。它与第四层交换机比较起来有许多优势:第七层交换机不仅能检查TCP/IP数据包的TCP和UDP端口号,从而转发给后台的某台服务器来处理,而且能从会话层以上来分析h ttp请求的URL,根据URL的不同将不同的http请求交给不同的服务器来处理(可以具体到某一类文件,直至某一个文件),甚至同一个URL请求可以让多个服务器来响应以分担负载(当客户访问某一个URL,发起http请求时,它实际上要与服务器建立多个会话连接,得到多个对象,例如.txt/.gif/.jpg文档,当这些对象都下载到本地后,才组成一个完整的页面)。

亿速云,作为一家拥有丰富行业积淀的专业云计算服务提供商、云安全服务提供商,致力于为广大用户提供的“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器”等云主机租用服务,具有安全稳定、简单易用、高可用性、高性价比的特点与优势,专为中小企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。