随 着人们对网络的需求越发强烈,不同行业,不同类别的网站越来越多。以Web为核心的业务平台,对于网站的稳定性来说有着比较高的要求。伴随着核心业务的扩 展,访问量和数据流的增加,单纯的网络架构有时候就显得捉襟见肘了。在成本预算的约束下,我们很难去大批地更换硬件基础设备来满足需求,更多的时候,想到 的是使用负载均衡来满足业务增长的需要。
负载均衡(Load Balance),其意思就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行。需要我们注意的是:它并不属于网络基础架构,而是属于一种网络优化设备。它是建立在现有的网络基础架构之上,给企业提供了更廉价更有效的扩展选择。
相对来说,对于一些网站和一些网络应用而言,需不需要负载均衡,要看网站的访问量是不是增长的很快,单个处理单元无法满足负载需求时,网络应用流量将要出现瓶颈时,负载均衡才会起到作用。
当需要负载均衡来进行网络优化时,挑选一款适合自己企业的负载均衡产品就显得尤为重要了。这里我们从软件和硬件两个角度,来简单介绍一下负载均衡的一些产品。
硬件负载均衡
硬 件负载均衡在国外比较流行。硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备我们通常称之为负载均衡器,由于专门的设备完成专 门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。
下面就来了解一下市场中,比较主流的几类产品。
◆F5 BIG-IP负载均衡器(LTM)
BIG- IP系列产品受到了用户的广泛认可,使用的人也很多。它的强大之处是基于简单的Web管理界面,包括其他F5设备也是如此。同时,这个负载均衡器还可以处 理SSL证书。F5的主要特点之一是其广域网优化管理器,具备高可用的加密通道,同时具有广域网传输速度,优化与数据中心的传输道路。根据这一优势,几乎 是自动地就产生了一个简单的基于广域网的灾难恢复解决方案。
F5 BIG-IP LTM的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处 理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率×××、内容缓冲、内容转换、连接加速、高速缓存、 Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYN Flood保护、防火墙-包过滤、包消毒等功能。
◆思科
思科几乎每个IOS路由器都具有负载均衡功能。这是非常令人激动的,因为我们不必去添加额外的硬件产品,基于现有设备,只需要添加负载均衡规则就可以了。思科是路由器领域的老大,当然负载均衡功能只是其原因中的一个。
思科的IOS包括很多负载均衡功能,比如端口绑定,会话交换,TCP优化,NAT和服务器负载均衡器算法,等等。
思科的服务非常到位,在国外,不少技术人员都说,如果你购买了思科的产品就永远不会被公司解雇。
◆Radware的AppDirector系列
Radware 的AppDirector (AD)在服务器负载均衡应用方面可以做到本地的服务器负载均衡(AD)和广域的全局服务器负载均衡(AD -Global)。它的单价比较便宜,并具有高扩展性和智能化服务。同时也拥有网络监控和检测功能,全局负载均衡和缓解一定的DDoS攻击等。
另外,Radware设备还有一些特点是比较容易更新和升级,能够感知应用服务,智能化是其宣传的理念之一,也是这个产品的一大特色。
◆梭子鱼负载均衡
梭子鱼的负载均衡器的最大特点是包含了网络安全功能。它具有入侵防御功能,而不是单单检测入侵。这能够更全面地保护你的网络,即使你错过了一个关键的更新和漏洞的修补,梭子鱼的更新服务也能让你的系统自动地更新起来。
此外,梭子鱼的负载均衡也是Web界面操作的,全局负载以及内容缓存也是它的显著特点。
软件负载均衡
软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。
目前比较流行的就三类软件负载均衡,LVS、Nginx和HAProxy。用的最多的还是LVS和Nginx这两种。
◆LVS
平 时我们说的LVS是Linux Virtual Server。这当然是基于Linux的开源软件了,这就意味着它是免费的。它基本上能支持所有应用,因为lvs工作在4层,所以它可以对几乎所有应用做 负载均衡,包括http、数据库、聊天室等等。同时,若跟硬件负载均衡相比它的缺点也不容忽视,LVS要求技术水平很高,操作上也比较复杂,配置也很繁 琐,没有赖以保障的服务支持,稳定性来说也相对较低(人为和网络环境因素更多一些)。
◆Nginx
在 这里,我们介绍Nginx就需要跟LVS来对比了。LVS是工作在第四层,对网络的依赖性相对较大。然而Nginx是工作在第七层,对于网络的依赖性就小 的多。与LVS相比,Nginx的安装和配置也相对简单一些,另外测试方面也更简单,主要还是因为对网络依赖性小的缘故。Nginx有一点不好的就是应用 要比LVS少。一般我们做软件负载均衡的时候,通常会先考虑LVS,但是遇到比较复杂的网络环境时,用LVS可能会遇到很多麻烦,不妨就考虑尝试一下 Nginx。
◆HAProxy
使 用HAProxy的人非常少,对其了解的也不多。通过官方的了解,HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主 机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。(据说是可以工 作在4-7层的。)并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。
结语
其 实,单纯说软件/硬件负载均衡是不全面的。然而,就国内的企业来说,使用软件的负载均衡技术更为多一些,一方面是因为成本问题,而另一方面软件负载均衡的 优点更加突出。通过业内人士,小编了解到,软件的扩展性比较好,硬件的承载是非常有限的。我们都知道淘宝的并发量大的惊人,据听说他们现在已经把某硬件负 载均衡设备全部换成LVS的架构了。
同时,小编也向抚琴煮酒这 位负载均衡大牛请教了一下关于负载均衡方面的问题,他说道,"负载均衡是一门非常复杂的学问,所涉及的知识面相当之广,包括session共享,页面同 步,架构优化和数据库压力等等,到了后期,负载均衡就上升到架构的级别了,缓存和安全问题都要考虑到。"看来若想要掌握负载均衡这门技术,各位技术人可要 下一番苦工了。