怎样建设WEB Cache
生活随笔
收集整理的這篇文章主要介紹了
怎样建设WEB Cache
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
怎樣建設(shè)WEB Cache
??
?
| 計算機網(wǎng)絡(luò)技術(shù)的成熟和不斷發(fā)展使之成功地應(yīng)用在了許多領(lǐng)域當中。其中,Internet可以說是大家最為熟悉,同時也是最為成功的一個范例,因為它已經(jīng)***到了人們工作、生活、學習和娛樂的方方面面。Internet上的信息量和用戶數(shù)正以驚人的速度不斷增長,這對眾多企業(yè)和ISP來說是一個挑戰(zhàn)。因為他們要解決WAN網(wǎng)絡(luò)帶寬擁擠和傳輸費用高的問題,要提高網(wǎng)絡(luò)服務(wù)質(zhì)量,要提高Internet/Intranet上內(nèi)容的可用性,只有這樣才能使Internet不會成為一塊“食之無味,棄之可惜”的雞肋。WEB Cache技術(shù)正是在這樣一種環(huán)境下發(fā)展起來的。 |
| WEB Cache技術(shù)在現(xiàn)有網(wǎng)絡(luò)架構(gòu)的基礎(chǔ)之上,利用傳輸本地化的方法達到了優(yōu)化使用網(wǎng)絡(luò)帶寬、提高網(wǎng)絡(luò)服務(wù)質(zhì)量、增強網(wǎng)絡(luò)信息可用性以及提高網(wǎng)絡(luò)靈活性的目的。WEB Cache為什么能實現(xiàn)上述功能呢?通過下面的介紹,大家就會清楚了。 |
| 一、Web瀏覽器中的Cache功能 |
| 提起WEB Cache,有些人可能會感到比較陌生,但是如果提起IE和Netscape Navigator來的話,恐怕可以說是無人不知、無人不曉了。用過這兩種瀏覽器的人可能會遇到過下面的情況:假如你是一位通過撥號上網(wǎng)的用戶,你在未撥號或號碼未撥通之前就啟動瀏覽器訪問某個網(wǎng)站,該網(wǎng)站的WEB頁面仍然會顯示在你的面前,而且速度比往常還要快,這是為什么呢?聰明的用戶馬上就會聯(lián)想到,一定是瀏覽器將以前訪問過的頁面存放在本地的硬盤上了。沒錯!這正是瀏覽器提供的一項功能。拿IE來說吧,你可以在IE中通過“Internet選項”對Internet臨時文件進行設(shè)置,將已查看過的Internet頁存放在本地硬盤特定的文件夾中,以便提高以后的瀏覽速度。這和WEB Cache的工作原理是一致的。用戶可以通過這種方法來加快自己的瀏覽速度。 |
| 二、代理服務(wù)器Cache |
| Web Cache基本可以分為兩類,一類叫做代理服務(wù)器Cache,另一類叫做容器Cache。 |
| 代理服務(wù)器Cache作為代理服務(wù)器的一部分來完成Web信息緩存任務(wù),它一般是運行于通用硬件平臺和操作系統(tǒng)上的緩存軟件,例如Microsoft的Microsoft Proxy Server 2.0軟件中就設(shè)置了Cache功能。如圖2所示,代理服務(wù)器一般位于Web客戶端和Internet Web服務(wù)器之間,它就象一個收發(fā)員,收到客戶端發(fā)往Web服務(wù)器的請求之后,先要檢查一下自己是否能滿足該請求,如果能的話,就將存儲在本地的Web信息提供給用戶,而不必從WAN上去獲取;如果用戶請求的內(nèi)容沒有存儲在Cache中,代理服務(wù)器就將用戶的請求轉(zhuǎn)發(fā)給到相應(yīng)的Web服務(wù)器上,Web服務(wù)器響應(yīng)用戶請求傳送給用戶的頁面會先到達代理服務(wù)器。代理服務(wù)器會將頁面存放在本地的Cache中,然后再把它轉(zhuǎn)發(fā)給相應(yīng)的Web客戶端。 |
| 除此之外,代理服務(wù)器還具有過濾用戶請求的功能,例如可以防止用戶訪問某些特定的站點。 |
| 代理服務(wù)器Cache的缺陷主要包括以下幾方面: |
| * 代理服務(wù)器的主要目的是使若干個用戶通過代理服務(wù)器連接Internet,雖然其中設(shè)置有Cache功能,但由于是用軟件實現(xiàn)Cache功能,所以其Cache功能往往受到硬件和操作系統(tǒng)的限制,不能達到優(yōu)化; |
| * 代理服務(wù)器易受網(wǎng)絡(luò)負載過重的影響; |
| * 由于代理服務(wù)器是所有用戶訪問Internet的必經(jīng)之路,本地Web客戶端和Internet上Web服務(wù)器之間傳輸?shù)乃袛?shù)據(jù)包都要經(jīng)過代理服務(wù)器的檢查,這一方面有可能使代理服務(wù)器成為數(shù)據(jù)傳輸?shù)钠款i,另外一方面如果代理服務(wù)器出現(xiàn)故障,所有通過代理服務(wù)器訪問Internet的用戶都將無法連接Internet了。 |
| * 如果某個用戶想要通過代理服務(wù)器接入Internet的話,他必須在自己本地的瀏覽器中進行設(shè)置,使之指向代理服務(wù)器。例如,在IE 4.0中,通過“Internet選項”->“連接”中的代理服務(wù)器設(shè)置就可以使瀏覽器通過某個代理服務(wù)器訪問Internet。 |
| 下面讓我們來看一個具體的例子。 |
| Microsoft Proxy Server 2.0是一個集代理服務(wù)器、Cache功能和防火墻功能于一身的軟件,Microsoft聲稱使用該軟件中的Cache功能平均可以節(jié)省50%的響應(yīng)時間。Microsoft Proxy Server 2.0還可以實現(xiàn)分布式Web Cache,這種分布式Web Cache能夠提高整個系統(tǒng)的容錯能力、升級能力和負載均衡能力,因此可以用于要求較高的企業(yè)和ISP。另外,Microsoft Proxy Server 2.0可以支持幾種不同的Internet協(xié)議和服務(wù)(如HTTP、FTP)。下面我們就該產(chǎn)品中Cache內(nèi)容的刷新算法和分布式Cache的實現(xiàn)做簡單的描述。 |
| Microsoft Proxy Server 2.0提供主動的Cache預取功能,它能夠自動地測定用戶訪問最頻繁的Web站點以及這些站點中Web信息的更新頻率。然后網(wǎng)絡(luò)管理員可以在軟件中為存儲在Cache中的Web內(nèi)容設(shè)置一個生存時間(TTL-Time To Live),一旦存儲在Cache中的Web內(nèi)容超過了這一生存時間,Cache就會自動的到Internet上去獲取這些內(nèi)容的最新拷貝,并將之存放在Cache中。這些功能選項和參數(shù)在系統(tǒng)中設(shè)定以后,Cache就會自動地按照設(shè)定去執(zhí)行預取操作,不需要網(wǎng)絡(luò)管理員的干預。另外,Microsoft Proxy Server 2.0還會檢測CPU的占用情況,并根據(jù)CPU的使用情況決定何時進行預取,這樣做的目的是盡量在CPU空閑的時候執(zhí)行預取操作以避免與CPU工作高峰期的其他網(wǎng)絡(luò)傳輸產(chǎn)生沖突,盡可能地提高整個系統(tǒng)的效能。 |
| 接下來看一下Microsoft Proxy Server 2.0中分布式Cache的實現(xiàn),這也是Microsoft Proxy Server 2.0的一個特點。分布式Cache的優(yōu)點在于可以減輕每一個代理服務(wù)器的負擔、具有較強的容錯能力、能夠更好地利用Cache中的數(shù)據(jù)為Web客戶服務(wù)。Microsoft Proxy Server 2.0提供了三種實現(xiàn)分布式Cache的手段:代理服務(wù)器陣列(圖3)、代理服務(wù)器鏈(圖4)以及這兩種方法的結(jié)合(圖5),其工作過程與下面將要講到的容器Cache的分層配置基本相同。關(guān)于如何用Microsoft Proxy Server 2.0實現(xiàn)Cache陣列和Cache鏈,這里就不多說了。 |
| ? |
| ? |
| ? |
| 三、容器Cache |
| 容器Cache一般是指專門的硬件平臺以及運行于其上的緩存軟件,它的性能往往比代理服務(wù)器Cache要好。有些生產(chǎn)商習慣于把自己的容器Cache產(chǎn)品稱為Cache引擎,如Cisco的Cisco Cache Engine 500系列。下面我們通過圖6來看一下容器Cache的工作原理。 |
| 首先,Web客戶端只有通過路由器才能訪問到Internet;其次,通過路由器設(shè)置使之將來自Web客戶端的Web請求路由到Cache引擎。這樣一來,客戶端發(fā)出Web請求后,Web請求首先到達路由器,路由器將Web請求路由到Cache引擎,Cache引擎檢查自己存儲的Web信息是否能滿足用戶的Web請求,如果能的話,就從本地將相應(yīng)于請求的Web信息通過路由器傳送給用戶,如果不能的話,就將Web請求轉(zhuǎn)發(fā)到Internet上相應(yīng)的服務(wù)器上,當服務(wù)器返回信息時,Cache引擎將信息存儲在本地后再發(fā)送給用戶。在整個工作過程中,路由器和Cache引擎所做的工作對Web客戶端來說是完全透明的,不需要在Web客戶端做任何的變動。這一點對大企業(yè)和ISP來說非常重要,因為這樣既便于他們集中管理,又為他們省去了許多不必要的麻煩,更重要的是便于整個Cache系統(tǒng)以后的增容和擴充。 |
| 容器Cache對用戶和網(wǎng)絡(luò)操作的透明性使得網(wǎng)絡(luò)管理員可以在幾個不同的網(wǎng)絡(luò)中同時放置幾個容器Cache,并使它們具有某種層次,以盡可能地提高網(wǎng)絡(luò)系統(tǒng)的性能和服務(wù)質(zhì)量,而且這種層次結(jié)構(gòu)往往與實際應(yīng)用環(huán)境中企業(yè)的分支機構(gòu)相對應(yīng)。下面分別簡單介紹以下在ISP和企業(yè)用戶中如何分層次地配置容器Cache。 |
| 首先看一下在ISP中容器Cache的層次應(yīng)用(圖7)。如圖所示,ISP將大容量的Cache倉庫放在其Internet主訪問點附近,這樣一來,ISP所有的POP(Points Of Presence)都可以從Cache倉庫中受益。假設(shè)client A有WEB請求,那么這一請求首先會傳送到Cache3,如果Cache3能夠滿足請求,Client A就會馬上得到它所請求的信息;如果Cache3不能滿足Client A的請求,它會將Client A的請求上傳到ISP區(qū)域站點的路由器,位于ISP區(qū)域站點的路由器會將Client A的Web請求傳送給Cache1,如果Cache1可以滿足請求,它會將Web信息傳輸給Cache3,然后再由Cache3傳送給Client A;依此類推,下一級Cache不能滿足的Web請求會上傳給上一級的Cache,直至將Web請求通過Internet傳送給相應(yīng)的服務(wù)器為止。 |
| 下面再讓我們看一下在企業(yè)中怎樣實現(xiàn)容器Cache的多層次應(yīng)用,如圖8所示,其工作過程同上面所講大致一樣,只是網(wǎng)絡(luò)的結(jié)構(gòu)有所不同而已。很明顯,無論對ISP還是企業(yè),這種多層次的應(yīng)用既可以有效地減輕Cache的負擔,又可以加快網(wǎng)絡(luò)的響應(yīng)速度。 |
| 容器Cache是為實現(xiàn)Web緩存任務(wù)而設(shè)計的專用產(chǎn)品,其中一般使用專門為實現(xiàn)其Cache功能而設(shè)計的內(nèi)嵌操作系統(tǒng)、面向線程的實時文件管理系統(tǒng)。容器Cache中安全、實時的內(nèi)嵌操作系統(tǒng)沒有Unix和Windows NT中導致文件存取速度減慢和加重網(wǎng)絡(luò)通訊負擔的進程上下文;特殊的文件管理系統(tǒng)可以消除文件碎片,避免通用文件系統(tǒng)中的長目錄查找,因此容器Cache的效率較傳統(tǒng)的代理服務(wù)器而言,性能得到了大大的提高。 |
| 四、總結(jié) |
| 通過以上對代理服務(wù)器Cache和容器Cache的介紹,不難看出,Cache用本地化存儲和傳輸?shù)姆椒p少了WAN上的數(shù)據(jù)流量,不但節(jié)省了WAN帶寬,而且減少了響應(yīng)時間、增強了信息的復用性。前面提到Cache陣列和Cache倉庫時,沒有具體介紹其實現(xiàn)方法和所用的協(xié)議,有興趣的朋友可以看一看有關(guān)ICP、CARP和WCCP方面的資料。 |
轉(zhuǎn)載于:https://blog.51cto.com/hifans/248001
總結(jié)
以上是生活随笔為你收集整理的怎样建设WEB Cache的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring对JDBC的支持
- 下一篇: “混合”成为IBM Cognos新法宝