ISA Server缓存概述
1.3.5 活动缓存
ISA Server可以配置为自动更新缓存内的对象。启用活动缓存后,ISA Server会分析缓存内的哪些对象最常受到访问。当缓存内的常用对象快过期时,ISA Server会自动刷新缓存中的内容。
活动缓存能够使缓存中的对象保持最新。在对象实际过期且还受到客户端访问之前,它就向原Web服务器验证这些对象。它的目的在于加速那些通常需要在源服务器之间往返以使数据重新有效的客户端访问,因为这涉及到某些费用(在代理处理和网络带宽方面),所以目标只是更新客户端将来可能要访问的对象。
仅仅用流行程度来判断哪些对象需要刷新并不是一个很好的标准,因为客户端会手工刷新页面来保持数据更新,所以很多流行的页面从不过期。此外,一个对象可能只是短时间内流行。活动缓存编码设法识别那此严格遵循被访问内容的模式的对象。这些内容可能要活动刷新——过期后又再次受到客户端的请求的对象。
1.3.6 CARP和缓存服务器的扩展性
利用CARP,ISA Server企业版在将多台ISA Server计算机的阵列作为单个逻辑缓存使用时,能够提供无缝扩展和改进的效率。CARP通过阵列利用散列式路由选择提供“请求解析路径”。请求解析路径判断浏览器或下游代理服务器请求的信息位于阵列的什么地方,或者ISA Server是否必须从Internet上第一次获取被请求的信息,然后将其存入缓存并发给用户。
CARP还提供以下益处∶
因为CARP提供确定的请求解析路径,所以在代理服务器之间没有查询消息。但是,常规的Internet缓存协议(ICP)网络中却存在查询消息,这样就会导致随着服务器数目的增加网络会更加拥挤。
CARP能够清除另外出现在代理服务器阵列中的内容副本。在ICP网络里,一个由5台服务器组成的阵列会迅速发展成基本上是经常被请求的URL的复制缓存。CARP基于散列的路由选择能够防止这种现象的发生,它允许5台代理服务器作为单个的逻辑缓存存在。结果便能对查询做出更快速的响应,而且对服务器资源的利用也会有效得多。
CARP拥有积极的可伸缩性。由于采用基于散列的路由,它独立于P2P对等ping。代理服务器添加的越多,CARP速度会更快效率会更高。这和ICP阵列形成了鲜明的对比。ICP阵列必须进行查询以判断缓存信息的位置,生成无关的网络通信,造成效率低下。ICP阵列具有“负可伸缩性”,阵列中添加的服务器越多,确定位置时服务器之间需要的查询就越多。
CARP能够自动调节阵列里服务器的添加或删除。基于散列的路由选择意味着无论是添加或删除服务器时,只需要对URL缓存位置进行最小限度的再分配。
CARP能够保证缓存对象在阵列里全部服务器之间均匀地分布,或者根据为每一台服务器设置的负载系数进行存储。
由于CARP确定的请求解析路径,不需要为缓存信息保存大量的位置表。浏览器只需对某一对象运行相同的数学函数就能判断它在什么地方。
因为阵列内的ISA Server计算机可能配有不同的硬件,一些计算机可能比其他的功能更强大,您可能希望缓存负载的分配能有所区别。CARP具有可配置的功能:您可以指定阵列内任一特定服务器的负载系数。
此外,CARP能够对传入和传出Web请求进行配置,例如,能够针对所有传出Web请求启动CARP或针对所有传入Web请求禁用CARP。
1.3.7 分层缓存
ISA Server企业版支持链式或分层缓存。“链”这个术语是指单独的ISA Server计算机或阵列之间的一种分层连接。客户端的请求通过缓存服务器链向上游传送,直到发现被请求的对象。当对象位于上游服务器内时,它会被每一个服务器存入缓存,直到该对象返回给客户端。链是分配服务器负荷和容错的一种有效方法。您可以为分支机构或部门分层布置ISA Server计算机。
图1.12举例说明了分支机构的客户端如何请求Internet对象。该请求被发给分支机构的ISA Server计算机,然后在发送至Internet之前发送到区域总部或公司总部。从Internet检索该对象后,总公司的ISA Server缓存被请求的对象,并且返回至分支机构的ISA Server。分支机构的ISA Server缓存该对象然后返回给客户端。这种情况下,分层缓存非常有用,因为对象只在最开始通过总公司发送到Internet,而后来的对同一对象的请求则直接从分支机构的ISA Server阵列得到服务。
因为链式缓存能够在离用户更近的地方启用缓存,因此对整个公司而言至关重要。例如,在企业内,缓存内容可以跨越组织网络边缘的单一的中枢位置,移向分支机构和工作组。缓存能够向地区ISP入网点移动而不是向中央ISP入网点移动。此外,链式缓存提供容错功能,因为当主路由不工作时,它提供一个后备路由接替工作。
1.3.8 Web Proxy路由
Web Proxy路由规则进一步汲取了链的概念,它允许根据目的有条件地发送请求。例如,一个公司在英国拥有分支机构,它可以在该分支机构中安装ISA Server计算机。该分支机构阵列可能连接到英国的一家ISP。分支机构的ISA Server计算机路由规则可以将对英国Internet主机的请求发向本地ISP,其他的请求则发向美国总部的ISA Server阵列。下游的ISA Server计算机(在本例中为英国的分支机构)会从总部的ISA Server缓存中受益。分支机构的ISA Server还存储从本地ISP检索得来的本地对象,这也会使组织受益。
图1.13举例说明了如何根据所请求的目的地将Web代理请求路由到不同的服务器。在这里,分支机构的ISA Server计算机将客户端对所有本地站点的请求发送到Internet上。客户端对其他所有站点的请求被路由到美国总部的上游ISA Server计算机。
1.3.9 小结
ISA Server可以用来改善本地网和Internet之间的通信。利用正向Web缓存,ISA Server可以为内部客户端访问Internet上的服务器储存数据;利用反向Web缓存,ISA Server可以为外部客户端访问内部发布服务器提供通信。两种情况都能从ISA Server的特性中受益,从而为用户更快提供 信息。
ISA Server缓存还包括以下特性:
定时缓存 当ISA Server应该从Internet获取经常受到请求的内容并将其存入其缓存时,可以配置定时缓存。
活动缓存 当该特性启用后,经常被访问的对象在网络通信量较低时会自动进行更新。
分布式缓存 ISA Server企业版利用CARP将多台ISA Server计算机排列成单一的逻辑 缓存。
分层缓存 可以安装分层缓存,将ISA Server企业版计算机阵列链接在一起,以便客户端能够从地理上最靠近它们的缓存中访问对象。