相信很多人对负载均衡技术并不陌生。即使是没有接触数据中心网络技术的人,从字面上理解也能猜个大概。负载均衡是一种用来扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性的技术,其最大的作用在于可以让网络流量更加平滑、均匀。负载均衡技术在二层到七层的每个网络层面上都可以实现,包括软件上的实现,也有硬件上的实现,不管是处于哪个网络层的负载均衡技术,都可以适当缓解单机负载能力的局限性。负载均衡技术包含有很多种,本文拿几种典型的均衡技术加以说明,让大家对负载均衡技术有个基本了解,起到画龙点睛的作用。
硬件负载均衡技术
硬件技术主要包括两大部分,基于应用层和网络层的技术。基于网络层的技术主要由网络设备来完成,这些网络设备大都支持聚合和等价路由技术,链路聚合负载均衡技术是将网络系统中的多条物理链路,当作单一的聚合逻辑链路来使用,使网站系统中的数据流量由聚合逻辑链路中所有的物理链路共同承担,流量分担到不同的链路上。等价路由则是将三层网络层流量均匀分担到不同的网络下一跳接口上,同样达到流量均衡的目的。这些技术可以在不改变现有的线路结构,不增加现有带宽的基础上大大提高网络数据吞吐量,节约成本。基于应用层的主要由单独的硬件设备完成,一般是负载均衡服务器,业界领先的有两款,F5和A10,它们基本上都是对应用无关的,独立于操作系统的流量有效,特别适合大流量、简单应用。还有硬件远远高于软件,一般软件负载均衡支持到5万级并发已经很困难了,硬件负载均衡可以轻松支持,而且商用硬件负载均衡,经过了良好的严格的测试,从经过大规模使用,在稳定性方面高,有些均衡设备还具有防火墙、防DDOS攻击等安全功能。与软件负载均衡技术相比,硬件能达到更好的负载均衡效果。不过,硬件技术缺点也尤为明显,硬件负载均衡技术需要额外的增加负载均衡器,成本比较高,所以适用于流量高的大型网站系统。硬件负载均衡技术是在多台服务器间安装相应的负载均衡设备,也就是负载均衡器来完成均衡负载技术,这些硬件设备扩展能力差,对于五到七层的流量无能为力,流量负载分担简单粗暴。在这种情况下,有不少的数据中心客户将目标锁定到软件负载均衡技术上。
软件负载均衡技术
软件技术包含内容更加丰富,从四层到七层都有各种负载均衡技术,大部分都是基于七层应用层的技术。软件负载均衡技术适用于一些中小型网站系统,可以满足一般的均衡负载需求。这种软件可以很方便地安装在服务器上,并且实现一定的均衡负载功能。软件负载均衡技术配置简单、操作也方便,最重要的是成本很低,这些技术都是基于Linux的开源免费负载均衡软件,所以费用非常低廉,这种方式越来越受到互联网企业的欢迎,这促使软件负载均衡技术得到了极大的发展。软件负载均衡也是包罗万象,有不少的技术。比如HTTP重定向负载均衡、DNS负载均衡、Nginx、LVS、HAProxy、SLB、GSLB等等。当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的URL,然后浏览器再继续请求这个新URL,实际上就是页面重定向。通过重定向,来达到“负载均衡”的目标。例如,我们在下载PHP源码包的时候,点击下载链接时,为了解决不同国家和地域下载速度的问题,它会返回一个离我们近的下载地址。重定向的HTTP返回码是302。HTTP负载均衡实现简单,但需要浏览器两次请求服务器才能完成一次访问,性能较差,另外重定向服务自身的处理能力有可能成为瓶颈。DNS用于实现地理级别的负载均衡,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。Nginx和LVS用同一地点内机器级别的负载均衡。Nginx是软件的7层负载均衡,Nginx支持HTTP、Email等协议;LVS是内核的4层负载均衡,和协议无关,几乎所有应用都可以做,例如聊天、数据库等。HAProxy 可以说是Nginx的升级版,补充了Nginx的一些缺点,支持Session保持,CooKie的引导,同时支持通过获取指定的URL来检测后端服务器的状态,比Nginx更有效率,在并发处理上优于Nginx。SLB服务器负载均衡主要功能就是将内部的多台服务转换为外部的虚拟IP和端口,已达到服务器群之间负载作用。GSLB全局负载均衡技术,主要是对不同的访问请求以一定规则算法做Hash,回应不同的服务器地址,这种算法可以是服务器轮询最小连接数和最短响应时间。在vMotion环境下可以通过GSLB和SLB配合,使用不同的SLB配合GSLB就可解决vMotion前后虚拟机服务IP相同的迁移切换问题,虚拟机管理平台可直接通知GSLB实现快速切换的效果。
由此可见,无论是从软件实现,还是采用硬件完成数据中心的流量负载均衡,各自都包含很多的技术,这些技术之所以存在就有其存在的道理,各有各的优缺点,满足于各种各样需求各异的数据中心客户。不管这些技术如何、如何的复杂,实现的机制差异如何大,最终的目的都一样,就是可以为数据中心缓解拥挤的带宽问题,提升数据中心的数据处理能力。具体到数据中心采用哪种技术,可以根据以上的介绍,综合考虑,作为数据中心内部最好的流量整形工具,负载均衡是不可缺少的。
本文转自d1net(转载)