緩存伺服器

緩存伺服器

緩存伺服器(cache server),即用來存儲網路上的其他用戶需要的網頁、文件等等信息的專用伺服器。這種伺服器不僅可以使用戶得到他們想要的信息,而且可以減少網路的交換量。

簡介


無論企業有多大,Web緩存都有助於優化性能和節省寬頻。而且如果選擇了正確的緩存解決方案,它可以隨著企業網路的增長而擴大,而無需進行昂貴且耗時的重建。
幾年以前,理論是超高帶寬的Internet連接會使Web緩存毫無用處,但是結果並非如此。即使最快的速率達到30-45Mbps的光纖Internet連接和速度在100 Mbps到1 Gbps速率的區域網相比仍然很慢,所以性能依舊是一個問題。除此之外,緩存提高了可用性,因為即使託管的Web伺服器停機或者由於網路問題而不可達時,緩存的對象拷貝仍然可以訪問。如果企業根據流量付費,緩存還可以降低Internet連通性的費用。即使是小公司,緩存也會有利,而且好的緩存解決方案將隨著企業級別升級。

原理


Web緩存伺服器的應用模式主要是正向代理和反向代理。正向代理(Proxy)模式是代理網路用戶訪問internet,客戶端將本來要直接發送到internet上源伺服器的連接請求發送給代理伺服器處理。正向代理的目的是加速用戶在使用瀏覽器訪問Internet時的請求響應時間,並提高廣域網線路的利用率。正向代理瀏覽器無需和該站點建立聯繫,只訪問到Web緩存即可。通過正向代理,大大提高了後續用戶的訪問速度,使他們無需再穿越Internet,只要從本地Web緩存就可以獲取所需要的信息,避免了帶寬問題,同時可以大量減少重複請求在網路上的傳輸,從而降低網路流量,節省資費。
反向代理(Reverse Proxy)模式是針對Web伺服器加速功能的,在該模式中,緩存伺服器放置在web應用伺服器的前面,當用戶訪問web應用伺服器的時候,首先經過緩存伺服器,並將用戶的請求和應用伺服器應答的內容寫入緩存伺服器中,從而為後續用戶的訪問提供更快的響應。其工作原理如下圖所示。

緩存概念


緩存伺服器
緩存伺服器
這是兩種主要的Web緩存:
直接緩存,將用戶頻繁訪問的來自Internet伺服器的Web對象的拷貝保存在企業本地網路中。
反向緩存,企業內部Web伺服器的Web對象的拷貝保存在企業網路邊緣的代理伺服器上以提高外界訪問企業站點的性能。
Web緩存可以根據不同等級進行配置:
本地緩存:將Web對象緩存的拷貝保存在本地計算機中。大多數流行的Web瀏覽器默認情況下保留一個先前訪問對象的緩存。例如,Internet Explorer稱之為“臨時Internet文件”。本地緩存拷貝只是在用戶頻繁地從同一台機器訪問頁面時有用。
代理緩存:代理伺服器是為公司內的多個用戶/客戶計算機緩存Web對象的單獨機器。它們是位於客戶端和託管的Web伺服器之間的計算機,而且它們比本地緩存效率更高,因為在企業本地網路中的任何用戶或計算機訪問某個Web對象時,緩存拷貝對想訪問該對象的任何其他用戶/計算機是可用的,無需到Internet伺服器上再次下載它。代理緩存可以在網路邊緣與防火牆結合使用。
微軟的ISA Server和BlueCoat的工具一樣,既包括防火牆也包括緩存代理伺服器。緩存伺服器也可以是單獨的機器,運行免費的緩存軟體或商業產品,例如:
Linux版的Squid免費緩存代理
MOWS基於Java分散式web和緩存伺服器
Vicomsoft RapidCache Server for Windows或Macintosh
WinProxy for Windows
可升級的緩存解決方案
隨著公司的擴大,單一的Web緩存伺服器可能無法處理所有的通信或存儲足夠的Web對象。在這種情況下,可以擴展緩存解決方案以建立一個緩存陣列——一組共同工作以便在組內分配緩存負載的緩存代理伺服器。萬一某個緩存伺服器停機,還提供預設的容量。
要在陣列中操作,緩存伺服器必須能夠彼此使用協議進行通信,例如:
WCCP(Web緩存協調協議),Cisco緩存產品以及諸如Squid這樣的開源代理使用。
ICP(Internet緩存協議),被Squid和BlueCoat支持。
CARP(緩存陣列路由協議),被ISA Server Enterprise Edition用來管理緩存伺服器陣列的失效轉移和負載平衡。
CARP能夠支持幾乎無限的線性擴展以滿足快速增長型企業的需求。當向某個陣列中添加或移除一台伺服器時,CARP自動調整並再指定URL以有效地分佈負載。
緩存陣列能夠以等級的或分散式的架構排列。在分散式緩存中,陣列中所有代理伺服器處在一個“平等地位”而且負載在它們之間進行分配。在分等級的緩存中,代理以鏈式進行配置,它們處在不同的等級,所以伺服器或陣列連接到其它離Internet更近的伺服器或陣列(離Internet最近的那些伺服器或陣列被看作“上游的”,那些最遠的被看作“下游的”)。這樣,緩存內容會儘可能地靠近需要它的用戶。
陣列是高度可升級的,因為可以向陣列添加伺服器,或向分等級的架構增加陣列等級,而無需擾亂目 前的緩存解決方案。
另一個可擴展性問題是使用緩存減少分支機構網路帶寬的能力。分支機構代理可能沒有直接連接到Internet,但是可以使用撥號連接或辦公室到辦公室的WAN連接以便從總公司的上游代理伺服器上請求Web對象。
另一個選擇是為需要向消費者提供基於Web的應用,可使用諸如由Akamai提供的服務。他們的Web Application Accelerator服務通過下列方法優化性能:
向他們的邊緣伺服器動態映射請求,並監視Internet路由以便在最快和最可靠的路由上傳輸。
利用壓縮技術和預取技術(pre-fetching)以最小化帶寬使用率。
用安全套接層(SSL)保護Web傳輸。
緩存支持的有些硬體標準:
目前緩存支持的硬體標準:
內存不超過4G,超過的只識別4G。
硬碟不超過2T,超過的只識別2T
存儲硬碟數量最大支持4塊(如果系統盤是電子盤不包含在內)
另外推薦使用INTEL的機器和網卡。