应用网络服务

比较缓存架构和用于分支机构基础设施整合的WAN优化架构

业界最近涌现出了很多旨在方便地将分支机构基础设施整合到数据中心和满足分支机构用户性能要求的产品。本白皮书将比较这些产品的架构与思科应用和内容网络软件(ACNS)和广域文件服务(WAFS)的缓存架构。

概述

随着广域文件服务(WAFS)、Web缓存和内容供应技术的出现,很多厂商都推出了旨在帮助IT机构轻松整合分支机构基础设施的产品。他们都宣称这些产品能够提供出色的性能和可扩展性,以及有效的传输优化机制,能够最大限度地降低通过低带宽、高容量的WAN线路访问集中资源的影响。而且,大部分最近上市的产品都宣称“缓存架构已经不合时宜”,通用传输优化是“未来的发展趋势”。本白皮书将分析这两种方式之间的区别,阐明为什么缓存架构可以提供通用传输优化所没有的价值。

挑战

随着处理器、内存和磁盘存储的不断降价,很多机构都在数据中心中为托管应用部署了规模更加庞大、功能更加强大的服务器群。这些应用采用的很多底层协议都假定带宽是足够的,而且客户端和服务器之间的延时可以降到最低。这种假定在提供可以接受的服务水平方面对远程分支机构用户提出了严峻的挑战,因为分支机构的带宽通常是非常有限的,而且延时一般也比较高。

管理分布式企业最主要的成本项目之一是将偏远分支机构、远程办公室和家庭办公室用户连接到集中的企业网络的成本。公共线路和VPN的性价比已经比过去有了显著的提高,但是仍然缺乏专用线路所具有的成熟性、可用性和性能保障。而专用线路仍然非常昂贵,因此为了控制成本,每一比特带宽都必需谨慎使用,以便在控制成本的同时为企业应用提供足够的吞吐率(量)

目前有两种技术可以通过最大限度地减少对宝贵的WAN带宽的占用率而控制成本。思科ACNS和WAFS产品所采用的缓存架构通常针对特定的协议和应用而设计,旨在将内容存储在距离最终用户较近的位置,同时减少对WAN资源的占用和降低核心资源的处理负担。而WAN优化架构是通过去除传输中的冗余(通常被称为编码簿压缩)和在设备之间使用专用传输通道来优化传输。

WAN优化架构

WAN优化架构试图通过广泛、深入、针对传输层的压缩,最大限度地降低对WAN的占用率并帮助客户节约成本。在大多数情况下,某种形式的编码簿压缩会用于最大限度地减少从链路一端发往另一端的流量模式中的冗余。编码簿压缩(通常也被称为序列压缩或者数据索引)是一种冗余消除方法,这意味着一些以前需要发送的消息将不再需要发送――转而采用一个表示发送消息的远端的小型“索引”或者“标签”。由客户端发出的消息(或者由服务器发出的响应等)必须与字典进行比较,如果消息包含了完全冗余的数据,那么消息将会在发送到WAN之前转换为一系列标签。对于过去没有发送过的数据,它们必须被加上标签并保存在字典中。远端设备必须完整地重建这些消息,同时为新收到的非冗余数据创建标签。在标记和更新字典之后,重建的消息将会发送到目的地。

下面显示了编码簿压缩的一个例子。

WAN优化架构

在这个例子中,我们可以看到两个压缩设备采用了一个共享的字典。在这个字典中,存在一个映射到已经被发送到小型标签的流量的表格。其中,“L1”(即标签1)是一个小型标签,映射到以前发送的消息“ABCD”,而后者实际上可能是一个大容量的消息。对于“L2”和“L3”也是如此。每个标签都代表一个过去在WAN中发送的消息。如果这个消息需要再次通过WAN发送,它就会被视为冗余消息,因而只需要发送一个代表该消息的标签。因为标签的容量很小,所以这可以大幅度降低WAN带宽的占用率。对于上面这个例子,这三个标签占到了客户端和服务器之间发送的流量的大约50%,而原始消息完全由远端压缩设备重建。

用于这种压缩的字典是动态的,并在这些设备之间共享。在某些情况下,字典可能位于内存之中,这会带来更快的搜索速度、更高的吞吐率和更高的成本。在其他一些情况下,字典可能有一部分位于内存中,剩余部分位于一个磁盘子系统之中。位于内存中的字典适用于较小的消息和轻型协议,而位于磁盘中的字典适用于较大的消息和重型协议。

尽管提供编码簿压缩的WAN优化产品肯定可以最大限度地降低带宽的占用率,但是IT机构必须意识到,这种架构存在着很多陷阱。

WAN优化架构

  • 字典搜索、标签和更新都是极为耗费硬件资源的任务。这些操作可能会对这些设备的处理器、内存和磁盘子系统带来沉重的负担,尤其是在设备需要为多个用户或者多个远程地点汇聚流量时。另外还应当深入评估这种架构的可扩展性,因为在解决方案开始扩展或者负荷开始提升时,这种设备很可能成为瓶颈。
  • 所有消息都由远端设备重建,并转发给原始目的地。尽管这看起来似乎并不重要,但是却是一个值得重点关注的环节。对于这些架构,原始目的地必须处理每个远程用户发出的所有负荷。利用这些设备整合和集中管理应用和资源可能会影响到核心资源的可扩展性。在大多数情况下,这并不能实现分担负荷的作用。随着解决方案的不断扩展,核心资源的负荷将会进一步提高。对这些负荷进行记帐和规划不仅会带来很高的成本,而且非常不便于管理。
  • 编码簿压缩本身并不能消除WAN延时所导致的往返时间(RTT)。客户端-服务器应用所使用的很多协议都是同步和串行的,要求按照一定的顺序处理消息。在大部分情况下,在收到上一个消息的应答之前,下一个消息不会发出。尽管这看起来似乎并不是一个很严重的问题,但是要知道,打开一个1MB的Microsoft Word文档就需要大约1500个消息。如果所有这些消息都必须穿越一个往返延时高达40ms的WAN,那么应用总延时就会长达60秒,即用户必须等待这么长的时间,才能使用该应用(即使是在最佳条件下)!某些设备供应商自称可以提供针对协议的支持,但是这种支持缺乏缓存架构所提供的优化。
  • 在使用编码簿压缩架构时,核心设备需要存储全部的分支机构消息和数据,从而可能导致大量的重复存储。随着解决方案的不断扩展,核心设备的存储库将会变得越来越庞大。
  • 很多这样的应用都不能采用集群配置,或者只能采用主/从方式的集群配置。这可能会导致可扩展性瓶颈,因为在大型部署中必须使用多个核心,从而会给边缘到核心的边界配置带来额外的管理负担。
  • 当这些设备部署于数据传输路径中时(例如在路由器和交换机之间,相当于一个“线路内的块”)可能与现有网络功能之间存在互操作性问题,例如NAT、基于路由器的DHCP、非对称路由,以及ACL或者防火墙策略。

尽管利用编码簿压缩技术的WAN优化架构可以显著地减少冗余消息所使用的带宽和统一地对所有流量进行优化,但是它们无法解决一个更加重要的问题:在提供集中管理资源的能力的同时,减轻WAN负担和在进行任何形式的扩展时都达到分支机构的性能要求。下一节将介绍缓存架构,分析缓存技术在集中管理应用和资源、降低WAN占用率和提高可扩展性方面的优势。

缓存架构

思科应用和内容网络系统(ACNS)和广域文件服务(WANS)所采用的缓存架构可以提供针对应用和协议的优化,从而降低WAN占用率、达到远程用户的性能要求,以及减轻宝贵的核心资源的负担。与以编码簿压缩为中心的架构不同,思科ACNS和WAFS借助智能缓存来将信息存储在靠近请求客户端的位置,同时最大限度地减少需要使用低带宽、高延时的WAN线路的流量。在考察这些缓存架构时,必须考虑两种缓存类型:按需缓存(也被称为动态缓存)和静态缓存。

静态缓存指的是用户经常访问的内容。对于Web内容,这可能是一种采用静态界面的门户应用,例如用于企业通信的视频点播。静态缓存采用的传播方式通常是设定一项策略,指明一个用户或者地点需要哪些信息,再将该策略发送到相关的设备。

动态缓存指的是用户请求的、超出静态内容范围的内容。动态内容的典型例子包括一个很少使用的文档或者用户最感兴趣的网页。用户以这种方式请求的内容必须被缓存(前提是没有违反任何缓存策略,例如URL过滤器规则、文件类型规则或者缓存占用率阈值),并且保留一段时间,以确保将来可以在不使用WAN的情况下,满足用户对这些数据的需求。

缓存架构需要与一些保障缓存数据的一致性和连贯性的功能配合使用。基于存在时间的复检将定期根据策略检查缓存内容的更新。使用基于存在时间的复检的典型例子是非关键性内容,例如普通网页。利用基于存在时间的复检,缓存将会在内容接近过期时,查询源服务器上的更新。基于使用的复检则会在每次用户试图访问内容时验证缓存内容的物理位置,确保不会提供过期的内容。如果与缓存数据有关的元数据与数据的源位置不符,这些缓存数据将会失效,改为更新的版本。基于使用的复检的应用实例包括共享的文档或者电子表格。通过适当地选择基于存在时间和基于使用的验证,IT管理员可以借助缓存架构更好地平衡WAN占用率和数据时效性。

缓存包含了一个静态和动态内容库,因而可以在满足验证标准的情况下,无需过多使用(或者根本不需要使用)WAN就可以为请求端提供数据。例如,如果www.cisco.com被缓存为某个分支机构的一个静态条目,而且每隔八小时进行一次基于存在时间的复检,那么当该分支机构中的某个用户请求访问www.cisco.com时,就可以在不使用WAN的情况下从缓存提供网页和相关组件(前提是内容处于有效期内)。在这种情况下,WAN上没有产生任何流量。又譬如一个电子表格,如果选择基于使用的复检方式,那么当用户试图打开该文件时,就可以从缓存中提供被请求的部分。同时,可以通过发送与主版本有关的小型消息,与所缓存的内容进行比较,从而验证缓存的时效性、用户的身份和用户获得的授权。如果缓存与源服务器上的内容一致,而且用户得到了正确的身份验证和授权,那么就可以从本地缓存提供缓存内容。在这种情况下,只需要在WAN中发送少量的消息。因此,给源服务器带来的负担也很轻微。下面的这两个例子表明了缓存架构在最大限度地降低WAN带宽占用率方面的巨大作用。

缓存架构

缓存架构

在上面这两个例子中,缓存架构为满足最终用户的性能要求和实现数据的集中存储采取了多项措施:

  • 信息的主版本集中存储,从而最大限度地减少需要在远程办公室安装的处理实体(Web服务器、文件服务器等)和相关组件(备份硬件、操作系统使用许可和服务器防病毒软件)的数量。这些信息可以从一个统一的位置集中管理、保护和扩展。这两项措施有助于最大限度地降低IT的总体拥有成本――包括运营开支和投资开支。
  • 缓存的数据被保存在距离请求端较近的位置,以加快搜索和存取速度。在验证完数据之后,只有极少量的原始流量需要在WAN上传输。这会直接影响到这些应用和相关信息所使用的WAN带宽,进而直接影响到重复性WAN成本。这还可以减轻宝贵的核心资源在处理用户流量方面的负担。
  • 位于缓存设备的协议代理可以在本地终结和响应大部分消息,从而减少需要在WAN上传输的流量。这也可以大幅度提高最终用户的性能预期,因为这些消息不会受到WAN的RTT的影响。
  • 在WAFS中,核心设备是没有状态的,能够以主/主负载共享的方式建立集群。通过添加更多的核心设备,可以提高核心的可扩展性和可用性――远远超出传统压缩设备的可扩展性。即使是必须穿越WAN的数据,也可以进行压缩和通道传输。
  • 包括思科内容引擎和文件引擎在内的缓存设备都安装于数据传输路径之外,因而不会与现有网络功能,例如QoS、NAT、基于路由器的DHCP,或者ACL和防火墙策略等存在互操作性问题。

总结

尽管本文所介绍的两种架构采用了类似的方式(将经常被访问的数据置于专门的设备之中),但是两者在处理数据请求和转换有用信息的方式上存在着显著的区别。实践证明,缓存架构仍然是满足用户对于分布式应用的性能需求的首选架构。它可以通过将分离的资源集中到托管数据中心,帮助IT部门节约投资和运营成本。

联系我们