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