緩存服務(wù)器 - 服務(wù)器
緩存服務(wù)器(cache server),即用來存儲網(wǎng)絡(luò)上的其他用戶需要的網(wǎng)頁、文件等等信息的專用服務(wù)器。這種服務(wù)器不僅可以使用戶得到他們想要的信息,而且可以減少網(wǎng)絡(luò)的交換量。
簡介
無論企業(yè)有多大,Web緩存都有助于優(yōu)化性能和節(jié)省寬帶。而且如果選擇了正確的緩存解決方案,它可以隨著企業(yè)網(wǎng)絡(luò)的增長而擴大,而無需進行昂貴且耗時的重建。
幾年以前,理論是超高帶寬的Internet連接會使Web緩存毫無用處,但是結(jié)果并非如此。即使最快的速率達到30-45Mbps的光纖Internet連接和速度在100?Mbps到1?Gbps速率的局域網(wǎng)相比仍然很慢,所以性能依舊是一個問題。除此之外,緩存提高了可用性,因為即使托管的Web服務(wù)器停機或者由于網(wǎng)絡(luò)問題而不可達時,緩存的對象拷貝仍然可以訪問。如果企業(yè)根據(jù)流量付費,緩存還可以降低Internet連通性的費用。即使是小公司,緩存也會有利,而且好的緩存解決方案將隨著企業(yè)級別升級。
原理
Web緩存服務(wù)器的應(yīng)用模式主要是正向代理和反向代理。正向代理 - Proxy模式是代理網(wǎng)絡(luò)用戶訪問internet,客戶端將本來要直接發(fā)送到internet上源服務(wù)器的連接請求發(fā)送給代理服務(wù)器處理。正向代理的目的是加速用戶在使用瀏覽器訪問Internet時的請求響應(yīng)時間,并提高廣域網(wǎng)線路的利用率。正向代理瀏覽器無需和該站點建立聯(lián)系,只訪問到Web緩存即可。通過正向代理,大大提高了后續(xù)用戶的訪問速度,使他們無需再穿越Internet,只要從本地Web緩存就可以獲取所需要的信息,避免了帶寬問題,同時可以大量減少重復(fù)請求在網(wǎng)絡(luò)上的傳輸,從而降低網(wǎng)絡(luò)流量,節(jié)省資費。
反向代理 - Reverse?Proxy模式是針對Web服務(wù)器加速功能的,在該模式中,緩存服務(wù)器放置在web應(yīng)用服務(wù)器的前面,當用戶訪問web應(yīng)用服務(wù)器的時候,首先經(jīng)過緩存服務(wù)器,并將用戶的請求和應(yīng)用服務(wù)器應(yīng)答的內(nèi)容寫入緩存服務(wù)器中,從而為后續(xù)用戶的訪問提供更快的響應(yīng)。其工作原理如下圖所示。
緩存概念
這是兩種主要的Web緩存:
直接緩存,將用戶頻繁訪問的來自Internet服務(wù)器的Web對象的拷貝保存在企業(yè)本地網(wǎng)絡(luò)中。
反向緩存,企業(yè)內(nèi)部Web服務(wù)器的Web對象的拷貝保存在企業(yè)網(wǎng)絡(luò)邊緣的代理服務(wù)器上以提高外界訪問企業(yè)站點的性能。
Web緩存可以根據(jù)不同等級進行配置:
本地緩存:將Web對象緩存的拷貝保存在本地計算機中。大多數(shù)流行的Web瀏覽器默認情況下保留一個先前訪問對象的緩存。例如,Internet?Explorer稱之為“臨時Internet文件”。本地緩存拷貝只是在用戶頻繁地從同一臺機器訪問頁面時有用。
代理緩存:代理服務(wù)器是為公司內(nèi)的多個用戶/客戶計算機緩存Web對象的單獨機器。它們是位于客戶端和托管的Web服務(wù)器之間的計算機,而且它們比本地緩存效率更高,因為在企業(yè)本地網(wǎng)絡(luò)中的任何用戶或計算機訪問某個Web對象時,緩存拷貝對想訪問該對象的任何其他用戶/計算機是可用的,無需到Internet服務(wù)器上再次下載它。代理緩存可以在網(wǎng)絡(luò)邊緣與防火墻結(jié)合使用。
微軟的ISA?Server和BlueCoat的工具一樣,既包括防火墻也包括緩存代理服務(wù)器。緩存服務(wù)器也可以是單獨的機器,運行免費的緩存軟件或商業(yè)產(chǎn)品,例如:
Linux版的Squid免費緩存代理
MOWS基于Java分布式web和緩存服務(wù)器
Vicomsoft?RapidCache?Server?for?Windows或Macintosh
WinProxy?for?Windows
可升級的緩存解決方案
隨著公司的擴大,單一的Web緩存服務(wù)器可能無法處理所有的通信或存儲足夠的Web對象。在這種情況下,可以擴展緩存解決方案以建立一個緩存陣列——一組共同工作以便在組內(nèi)分配緩存負載的緩存代理服務(wù)器。萬一某個緩存服務(wù)器停機,還提供缺省的容量。
要在陣列中操作,緩存服務(wù)器必須能夠彼此使用協(xié)議進行通信,例如:
WCCP(Web緩存協(xié)調(diào)協(xié)議),Cisco緩存產(chǎn)品以及諸如Squid這樣的開源代理使用。
ICP(Internet緩存協(xié)議),被Squid和BlueCoat支持。
CARP(緩存陣列路由協(xié)議),被ISA?Server?Enterprise?Edition用來管理緩存服務(wù)器陣列的失效轉(zhuǎn)移和負載平衡。
CARP能夠支持幾乎無限的線性擴展以滿足快速增長型企業(yè)的需求。當向某個陣列中添加或移除一臺服務(wù)器時,CARP自動調(diào)整并再指定URL以有效地分布負載。
緩存陣列能夠以等級的或分布式的架構(gòu)排列。在分布式緩存中,陣列中所有代理服務(wù)器處在一個“平等地位”而且負載在它們之間進行分配。在分等級的緩存中,代理以鏈式進行配置,它們處在不同的等級,所以服務(wù)器或陣列連接到其它離Internet更近的服務(wù)器或陣列(離Internet最近的那些服務(wù)器或陣列被看作“上游的”,那些最遠的被看作“下游的”)。這樣,緩存內(nèi)容會盡可能地靠近需要它的用戶。
陣列是高度可升級的,因為可以向陣列添加服務(wù)器,或向分等級的架構(gòu)增加陣列等級,而無需擾亂目?前的緩存解決方案。
另一個可擴展性問題是使用緩存減少分支機構(gòu)網(wǎng)絡(luò)帶寬的能力。分支機構(gòu)代理可能沒有直接連接到Internet,但是可以使用撥號連接或辦公室到辦公室的WAN連接以便從總公司的上游代理服務(wù)器上請求Web對象。
另一個選擇是為需要向消費者提供基于Web的應(yīng)用,可使用諸如由Akamai提供的服務(wù)。他們的Web?Application?Accelerator服務(wù)通過下列方法優(yōu)化性能:
向他們的邊緣服務(wù)器動態(tài)映射請求,并監(jiān)視Internet路由以便在最快和最可靠的路由上傳輸。
利用壓縮技術(shù)和預(yù)取技術(shù)(pre-fetching)以最小化帶寬使用率。
用安全套接層(SSL)保護Web傳輸。
緩存支持的有些硬件標準:
目前緩存支持的硬件標準:
內(nèi)存不超過4G,超過的只識別4G。
硬盤不超過2T,超過的只識別2T
存儲硬盤數(shù)量最大支持4塊(如果系統(tǒng)盤是電子盤不包含在內(nèi))
另外推薦使用INTEL的機器和網(wǎng)卡。
