获取信息的速度快慢已经成为制约互联网发展的重要因素。如何在现有的网络资源下提高用户获取信息的速度,已成为困扰众多数据中心、ISP和企业的一大难题。以负载均衡器为代表的互联网加速产品应运而生。它们将成为未来互联网上不可或缺的一部分。
为了不再看到“Server Too Busy”
上网过程中用户最不满意的是什么?来自CNNIC的最新调查报告表明,用户认为上网过程中最不能令人满意的地方是速度太慢。
电子商务逐步走入众多传统企业时遇到的最大阻力是什么?网络平台的性能和服务水平仍不可靠显然是重要的因素之一。
由于用户急剧增长,获取信息的速度快慢已经成为制约互联网发展的重要因素。尤其随着电子商务的迅速发展,企业的信息中心已经从侧重计算与数据处理的计算中心和侧重网络与数据通讯的网络中心发展成为一个将计算中心与网络中心功能平衡优化的集成一体的数据中心。作为企业电子商务网络的基础核心,数据中心将汇集高性能计算、数据通讯、语音通讯等处理功能于一体,成为支持企业未来电子商务系统应用的必然平台。
但是,作为企业网的心脏,数据中心面临着众多的挑战。扩展性、灵活性、高性能、可靠性、高密度和安全性无一不是数据中心不可或缺的要求,尤其是在数据流急剧增长的时候还要进行持续稳定的运行。很难想象用户会在屡次遇到“Server Too Busy”后还能再次访问这个网站;更难以想象正在进行信用卡支付时遇到掉线会有多么严重的后果。那么,如何解决这个瓶颈问题呢?如何才能切实提高网络的服务质量呢?
图一 负载均衡原理图
显然,传统的网络结构已经不能满足这种高质量的需求。在仅靠不断增加带宽的方式提高访问速度收效甚微的情况下,想切实提高网络服务质量,就需要在现有网络层次结构中专门增加一层,以专门用于提高网络的响应时间。
目前这种用于加速互联网络的产品有许多,代表技术有负载均衡、高速缓存、SSL/XML加速、流量与带宽管理等。目前,此系列产品已经越来越普遍地被各数据中心、ISP、企业网站使用。他们往往分布在应用服务器和路由器/交换机之间,有人称之为“前端基础设施”。
所有这些技术都能改善网络速度、提高服务质量,但机理不同,适用的范围也不尽相同。以下详细介绍各个技术的特点和适用范围。
负载均衡技术
现在互联网上有多少客户?十分钟后客户数目会增长吗?这些问题恐怕谁也回答不了。互联网的快速增长已经使网络服务器面对的访问数量大大增加并且更加不可预知。如今,服务器必须具备提供大量并发访问服务的能力,其处理能力和I/O能力已经成为提供服务的瓶颈。如果客户的增多导致通信量超出了服务器能承受的范围,那么其结果必然是——宕机。
显然,单台服务器有限的性能不可能解决这个问题,一台普通服务器的处理能力只能达到每秒几万个到几十万个请求,无法在一秒钟内处理上百万个甚至更多的请求。但若能将10台这样的服务器组成一个系统,并通过软件技术将所有请求平均分配给所有服务器,那么这个系统就完全拥有每秒钟处理几百万个甚至更多请求的能力。这就是负载均衡最初的基本设计思想。
最早的负载均衡技术是通过DNS来实现的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。DNS负载均衡是一种简单而有效的方法,但是它不能区分服务器的差异,也不能反映服务器的当前运行状态。
其实,这种负载均衡的基本设计思想只能算是负载均衡技术的最初应用。现代负载均衡技术除了可以做到合理、平均、实时地均衡系统负载外,还能够确保系统正常运行的高可用性和高可靠性。
负载均衡服务能够平衡服务器群中所有的服务器和应用之间的通信负载,根据实时响应时间进行判断,将任务交由负载最轻的服务器来处理,以实现真正的智能通信管理和最佳的服务器群性能。
如图一所示,假设每个服务器能响应的请求为每秒10万个。如果不采用负载均衡,那么该系统就只能达到每秒10万个的响应,即使采用三台服务器,也有可能在不到每秒30万个响应的时候就会出现某台服务器由于访问量过大而宕机;如果某台服务器出现故障,则可能导致数万个请求不能得到正确的响应。但如果采用负载均衡,不仅当服务器出现故障时可以自动将指向该服务器上的响应分担到其他服务器,还可以在数据量不太大时也将任务分配到各个服务器中,避免出现有些服务器数据量很小而有的已因数据量接近极限导致性能急剧下降的现象。如果数据量超出了服务器的响应能力,只需增加服务器数目就可以平滑升级。也就是说,负载均衡技术不仅可以维持网络系统中负载的均衡分配,还能够维护网络系统的高可用性运行,因而是保证网络系统高性能的重要技术。
现代负载均衡技术通常操作于网络的第四层或第七层。负载均衡器可以根据实际的响应时间制定优先级交付决策,从而实现高性能、智能化流量管理,达到最佳的服务器群性能。采用第七层应用控制还可以减少通信高峰期的错误讯息,因为差错控制和流量管理技术可以侦测到一些错误信息并透明地将会话重定向到另一个服务器,使用户顺利地进行使用。例如,图一中服务器A不可用或者数据库出现错误,错误信息将会返回到负载均衡器上,然后会将客户的访问指向服务器B或者将消息重放到其他数据库中去,整个过程对用户是透明的。
由于采用了负载均衡技术,自动故障恢复得以实现,服务的时间可以延长,24×7可靠性和持续运行成为可能。另外,负载均衡器一般也支持路径外返回模式,即绕过流量分配器,为那些焦急等待大量数据文件请求响应的客户提供更快的响应时间。
在最新的负载均衡产品中,智能化越来越明显。一些智能化的负载均衡器能够侦测到像数据库错误、服务器不可用等信息,从而采取措施使会话恢复和重定向服务器使电子商务能够得以顺利进行。多址负载均衡器可以对客户发来的访问请求进行解析,计算出最佳地址,然后将该地址返回客户,使客户自动连接到对其请求来说最佳的数据中心。
缓存技术
负载均衡技术解决了出现大流量数据时服务器的智能化分配,但统计发现,在网络应用的需求中存在着许多冗余的内容,这些重复的需求占用了大量的网络资源。具体地说,在互联网上80%的用户都在访问20%的热门网站,而在这些热门网站中又有一些热门的内容吸引了绝大多数访问者的注意;对于企业局域网而言,员工所发出的网络指令也存在着很大的重复。以上的情况造成了计算机执行的指令具有很高的重复性,这是仅用负载均衡技术不能解决的。
缓存技术就是基于以上的情况产生的。缓存设备会监视Web请求,检索它们,然后存储为它的对象。后来的用户将直接从本地的缓存设备而不是真正的目标站点获取该对象,从而达到提高响应性能,减少带宽压力的目的。
有效放置的缓存设备可以及时向最终用户传送Web网页,提高Web站点的效率,减少WAN访问费用,甚至可以建立起一道抵御外部黑客攻击的安全防线。因此,不仅对于那些能够迅速地从缓存技术节省下来的费用中盈利的ISP和电信公司,而且对于企业而言,缓存技术也同样具有着越来越大的吸引力。
缓存技术的基本概念是:由于从网络的边缘索取对象比从Internet中索取的速度更快、费用更低廉,因此将Web数据靠近最终用户保存,可以使服务提供商保留带宽,节省费用。缓存设备工作在比路由器更高的层次上,能够把用户所要访问的网络信息“抓”到本地,在最短的时间内将信息连续、完整、实时地传递给最终用户,不仅大大缩短了访问响应时间,而且极大地提高了高峰时间网络所能承受的访问容量。可以说,缓存技术降低了目前广域网通讯带宽成本,是提升互联网访问性能的最好方法。
早期的缓存技术可用来节省带宽以减少网络拥塞,但它们不可避免地引起了以下问题:一是用户有可能得不到网页的及时更新,因为缓存区不可能自动跟踪网页的变化;二是为得到最新网页,用户访问时需要首先查询真正的服务器上的内容,这将导致访问速度的降低。
图二 SSL加速器原理图
目前使用最多的缓存技术产品是Web Cache。一提Cache,大家自然会想到计算机里面的高速缓存,实际上,Web Cache的功用远不止存储和提供数据这么简单。Cache是作为基于软件的代理服务器的一部分或专门的硬件(appliances,容器)出现的,本文主要谈后者。与前者相比,它可以提供更好的性能。不同的生产商提供的产品在许多方面存在着差异,其中包括配置和设置的难易程度、使用的协议、安全性能、远程管理、能够用于缓存的Web传输的类型以及价格、售后技术支持等。
Cache设备可在用户端储存最常浏览的网页内容,随时提供给用户存取,还可同时监控内容的来源,以测知网页是否已更新,并同步更新储存的内容。一般来说,在配置了互联网加速设备后,由于很多用户浏览的内容可以从高速缓存中直接调出,网络效能会有明显的大幅提升:网页响应时间最多可以减少90%以上;频宽使用率将增加30%~50%。
SSL/XML加速
解决了服务器分配和缓存的问题之后,在网络传输的内容上,由于SSL和XML仍占用相当的服务器资源,仍然会影响网络的传输速度。它们能加速吗?
SSL(加密套接字协议层)是一种应用极为广泛的WEB信息安全传送协议。最初由Netscape开发以提供Internet上的安全连接和传送,目前,98%的Web上的安全传送都运用SSL。SSL已经成了安全互联网交易中数据加密的工业标准,采用SSL的网站在1998年和1999年间增加了两倍。由于SSL运用加密算法和密码,其加密/解密过程需大量占用服务器的CPU资源,使CPU利用率接近100%,从而大大降低了服务器性能。当网络用户大大增加后,网络性能将急剧降低,很可能用户会因网络响应欠佳而失去耐心离开网站。
电子商务时代,服务