首页 > 代码库 > 负载均衡入门和一些基本概念

负载均衡入门和一些基本概念

依稀还是很多年前,当时负责一个比较大的项目(中国电信BDC),负载均衡是少不了。硬件上询问了不少的供应商,软件上也试过一些有一定影响力的工具。根据当时公司的情况,项目的背景和实际场景,选择的是硬件方案,购买的设备是F5。

         时间过的很快,硬件总要老去,而新的时代总要到来。把原先的资料翻出来,整理下,说不定新的旅程又要扬帆起航。

负载均衡(Load Balance)是什么呢?如果我们只有一台服务器,如果这一台服务器就能满足我们的业务发展和需求,那么我们基本上不需要负载均衡。但是这是一个什么样的时代,这是一个互联网的时代,这是一个信息产业迅猛发展的时代,一台服务器就能横扫天下的时代早已一去不复返了。

当然,硬件的发展也是很迅速的,我们一台4G内存的服务器撑不住了,可以换成64G的服务器。这,也是一种思路和方法,但是如果业务进一步发展,如果64G服务器也无法承受压力,那么是否要升级为640G内存的服务器?这个,超出了我目前的想象能力。

如果这一台服务器出现了故障,不能用了,即使它有640G的内存,但是应用还是不能用了。这个时候,就需要一个备份。负载均衡设备或者负载均衡方法不可避免的出现在我们的视野中,一起看看这些概念和方法吧。

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

软硬件

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

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

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

 

本地/全局

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

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

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

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

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

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

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

 

一些常用的负载均衡方法方式:

1.DNS负载均衡,是最早的负载均衡技术是通过DNS来实现的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。DNS负载均衡是一种简单而有效的方法,但是它不能区分服务器的差异,也不能反映服务器的当前运行状态。

2.反向代理服务器负载均衡,使用代理服务器,可以将请求转发给内部的服务器,使用这种加速模式显然可以提升静态网页的访问速度。然而,也可以考虑这样一种技术,使用反向代理服务器将请求均匀转发给多台服务器,从而达到负载均衡的目的。反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。反向代理负载均衡技术是把将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。

3.地址转换网关负载均衡,支持负载均衡的地址转换网关,可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。

4.HTTP重定向或者镜像功能,也可以自己定义协议,进行网络和负载的转发;

5.混合型负载均衡在有些大型网络,由于多个服务器群内硬件设备、各自的规模、提供的服务等的差异,可以考虑给每个服务器群采用最合适的负载均衡方式,然后又在这多个服务器群间再一次负载均衡或群集起来以一个整体向外界提供服务(即把这多个服务器群当做一个新的服务器群),从而达到最佳的性能。将这种方式称之为混合型负载均衡。此种方式有时也用于单台均衡设备的性能不能满足大量连接请求的情况下。

 

负载均衡入门和一些基本概念