1. 程式人生 > >得失不過二分意,去留只隨一寸緣.青山作畫千秋墨,綠水為琴萬古弦.

得失不過二分意,去留只隨一寸緣.青山作畫千秋墨,綠水為琴萬古弦.

web高通快取伺服器

  web快取記憶體伺服器(Web cache)是具有快取記憶體功能的web代理伺服器,它們在代表客戶執行HTTP請求的問時,在自己的硬碟空間中儲存近來請求到的物件的一個拷貝。如下圖所示,使用者首先把他們的瀏覽器配置成所有的HTTP請求都定向到web快取記憶體伺服器。。這樣配置過的瀏覽器以後產生的每一個請求首先到達的將是Web快取記憶體伺服器。下面就以瀏覽器請求物件http://www.chinabyte.com/例,具體說明其過程。


圖4:Web快取伺服器工作原理

  ●瀏覽器建立一個到Web快取記憶體伺服器的TCP連線,然後通過該連線向這個web快取記憶體伺服器發出一個訪問所指物件的HTTP請求。

  ●Web快取記憶體伺服器檢視本地是否存有該物件的一個拷貝。如果有的話,它就把該物件包含在一個HTTP響應訊息中傳送給客戶瀏覽器。

  ●如果web快取記憶體伺服器找不到該物件的本地拷貝,它就建立一個到目標伺服器即  www.chinabyte.com的TCP連線。然後通過該連線發出一個訪問所指物件的HTTP請求。目標伺服器接收到這個請求後,把所請求的物件包含在一個HTTP響應訊息中傳送給Web快取記憶體伺服器。

  ●web快取記憶體伺服器接收到這個物件後,在本地存放一個它的拷貝,再通過與客戶瀏覽器之間的已有連線,把它的另一個拷貝包含在一個HTTP響應訊息中傳送給客戶瀏覽器。

  注意,web快取記憶體伺服器同時扮演伺服器和客戶兩個角色。就從瀏覽器接收請求和往瀏覽器傳送響應而言,它是伺服器。就往目標伺服器傳送請求和從目標伺服器接收響應而言,它是客戶。

  為什麼要增添Web快取記憶體伺服器?它有哪些優勢呢?在因特網中廣泛地部署Web快取記憶體伺服器至少有3個理由。首先,web快取記憶體伺服器可以充分地縮短客戶請求的響應時間,特別是在客戶與目標伺服器之間的瓶頸頻寬比它與快取記憶體伺服器之間的瓶頸頻寬小得多的時候。如果在客戶和快取記憶體伺服器之間存在一個高速連線(實際情況也通常是這樣),而且快取記憶體伺服器上存有所請求的物件,那麼它將迅速地把該物件遞送給客戶。其次,web快取記憶體伺服器可以充分地降低相應機構在因特網訪問鏈路上的流量(後面會有相應的示例)。這樣降低流量後,該機構(譬如說公司或大學)就不必過快地升級頻寬,從而節省了費用。另外,web快取記憶體伺服器可以顯著降低因特網的總體Web流量,從而改善所有應用的效能。第三,在因特網的機構、地區、國家等層次上密佈web快取記憶體伺服器主機可提供一個用於迅速散佈內容的基礎設施,即使是在低速訪問鏈路之後的低速伺服器主機上執行其Web站點的內容供應商也大受稗益。如果這些資源不足的內容供應商突然有受歡迎的內容待散佈,那麼這些內容將會在較短時間內拷貝到大量的快取記憶體伺服器中,從而滿足使用者的強烈需求。

  協同快取記憶體

  因特網上位於不同地方的多個web快取記憶體伺服器可以協同改善整體效能。例如,機構內部的快取記憶體伺服器可以配置成把它的HTTP請求傳送給某個國家級主幹ISP的快取記憶體伺服器。這種配置下,當機構內部快取記憶體伺服器中沒有存放瀏覽器請求的物件時,它將把相應的HTTP請求轉發給國家級快取記憶體伺服器。國家級快取記憶體伺服器接著從本地硬碟或從目標伺服器取得該物件,傳送給機構內那快取記憶體伺服器,再由它轉而傳送給提出請求的瀏覽器。當一個物件穿越—個機構內部或國家級快取記憶體伺服器時,這個快取記憶體伺服器將在本地硬碟中儲存該物件的一個拷貝。穿越更高層的快取記憶體伺服器(例如國家級快取記憶體伺服器)的優勢在於它們擁有更大的使用者群體,從而有更高的命中率。

  協同快取記憶體系統的一個例子是NLANR,它由位於美國境內的多個主幹快取記憶體伺服器構成,為遍佈全球的機構內部快取記憶體伺服器和地區級快取記憶體伺服器提供服務。各個快取記憶體伺服器組合使用HTTP和1CP(Internet Caching Protocol網際快取記憶體協議)彼此交換物件。ICP是一個應用層協議,允許一個快取記憶體伺服器迅速查問另一個快取記憶體伺服器是否存有某個給定文件[RFC 2186]。查問完之後,它就可以便用HTTP協議取回該物件。ICP在許多協同快取記憶體系統中得到廣泛使用,Squid軟體完全支援它(Squid是一個用於Web快取記憶體的公共域軟體)。

  協同快取記憶體的另一種形式涉及快取記憶體伺服器的群集,這些伺服器往往位於同一個區域網內。當單個快取記憶體伺服器沒有足夠的能力處理流通量或提供足夠的儲存容量時,往往改用快取記憶體伺服器群集。儘管群集是隨流通量增長而擴張規模的自然方式,它卻引入了新的問題:當一個瀏覽器請求某個特定物件時,它應該向群集中的哪一個快取記憶體伺服器發出請求呢?通過使用雜湊選路辦法,這個問題可以完美地得到解決(相關資料可在網上查詢)。在最簡單的雜湊選路方式中,瀏覽器對URL作雜湊操作,然後根據雜湊結果把請求訊息定向到群集中的某個快取記憶體伺服器。通過讓所有的瀏覽器使用相同的雜湊函式,一個物件就只會存在於同一群集中的某個快取記憶體伺服器L,而且如果該物件確實存在於這個群集中,那麼瀏覽器總是能夠把訪問該物件的請求定向到正確的快取記憶體伺服器。雜湊選路是快取記憶體陣列選路協議(Cache Array Routing Protocol,簡稱CAD)的核心。

  web快取記憶體是一個豐富而複雜的主題,近些年來己圍繞它展開了廣泛的研究和產品開發。另外,快取記憶體伺服器現今己設計成可用來處理流式音訊和視訊資料。隨著因特網開始為在其上大規模按需散佈音樂、電視節目和電影提供基礎設施,快取記憶體有可能扮演越來越重要的角色。