16.1 **快取服務
squid是linux系統中最為流行的一款高效能**服務軟體,通常用作web**的前置快取服務,能夠代替使用者向**伺服器請求頁面資料並進行快取。簡單來說,squid服務程式會按照收到的使用者請求向**源伺服器請求頁面、等所需的資料,並將伺服器返回的資料儲存在執行squid服務程式的伺服器上。當有使用者再請求相同的資料時,則可以直接將儲存伺服器本地的資料交付給使用者,這樣不僅減少了使用者的等待時間,還緩解了**伺服器的負載壓力。
squid服務程式具有配置簡單、效率高、功能豐富等特點,它能支援http、ftp、ssl等多種協議的資料快取,可以基於訪問控制列表(acl)和訪問許可權列表(arl)執行內容過濾與許可權管理功能,還可以基於多種條件禁止使用者訪問存在威脅或不適宜的**資源,因此可以保護企業內網的安全,提公升使用者的網路體驗,幫助節省網路頻寬。
由於快取**服務不但會消耗伺服器較多的cpu計算效能、記憶體以及硬碟等硬體資源,同時還需要較大的網路頻寬來保障資料的傳輸效率,由此會造成較大的網路頻寬開銷。因此國內很多idc或cdn服務提供商會將快取**節點伺服器放置在二三線城市以降低運營成本。
在使用squid服務程式為使用者提供快取**服務時,具有正向**模式和反向**模式之分。
所謂正向**模式,是指讓使用者通過squid服務程式獲取**頁面等資源,以及基於訪問控制列表(acl)功能對使用者訪問**行為進行限制,在具體的服務方式上又分為標準**模式與透明**模式。標準正向**模式是把**資料快取到伺服器本地,提高資料資源被再次訪問時的效率,但是使用者在上網時必須在瀏覽器等軟體中填寫**伺服器的ip位址與埠號資訊,否則預設不使用**服務。而透明正向**模式的作用與標準正向**模式基本相同,區別是使用者不需要手動指定**伺服器的ip位址與埠號,所以這種**服務對於使用者來講是相對透明的。
使用squid服務程式提供正向**服務的拓撲如圖16-1所示。區域網內的主機如果想要訪問外網,則必須要通過squid伺服器提供的**才行,這樣當squid伺服器接收到使用者的指令後會向外部發出請求,然後將接收到的資料交還給發出指令的那個使用者,從而實現了使用者的**上網需求。另外,從拓撲圖中也不難看出,企業中的主機要想上網,就必須要經過公司的閘道器伺服器,既然這是一條流量的必經之路,因此企業一般還會把squid服務程式部署到公司伺服器位置,並通過稍後講到的acl(訪問控制列表)功能對企業內員工進行上網審計及限制。
反向**模式是指讓多台節點主機反向快取**資料,從而加快使用者訪問速度。因為一般來講,**中會普遍載入大量的文字、等靜態資源,而且它們相對來說都是比較穩定的資料資訊,當使用者發起**頁面中這些靜態資源的訪問請求時,我們可以使用squid服務程式提供的反向**模式來進行響應。而且,如果反向**伺服器中恰巧已經有了使用者要訪問的靜態資源,則直接將快取的這些靜態資源傳送給使用者,這不僅可以加快使用者的**訪問速度,還在一定程度上降低了**伺服器的負載壓力。
使用squid服務程式提供反向**服務的拓撲如圖16-2所示。當外網使用者嘗試訪問某個**時,實際請求是被squid伺服器所處理的。反向**伺服器會將快取好的靜態資源更快地交付給外網使用者,從而加快了**頁面被使用者訪問的速度。並且由於**頁面資料中的靜態資源請求已被squid伺服器處理,因此**伺服器負責動態資料查詢就可以了,也進而降低了伺服器機房中**伺服器的負載壓力。
總結來說,正向**模式一般用於企業區域網之中,讓企業使用者統一地通過squid服務訪問網際網路資源,這樣不僅可以在一定程度上減少公網頻寬的開銷,而且還能對使用者訪問的**內容進行監管限制,一旦內網使用者訪問的**內容與禁止規則相匹配,就會自動遮蔽**。反向**模式一般是為大中型**提供快取服務的,它把**中的靜態資源儲存在國內多個節點機房中,當有使用者發起靜態資源的訪問請求時,可以就近為使用者分配節點並傳輸資源,因此在大中型**中得到了普遍應用
學習python 第十六天
流 i o 一 編碼 編碼明文 暗文 明文 暗文 解碼計算機只認識010101 ascii 0 127 ansi ascii加上拉丁文 gb2312 ascii加上7000多個漢字 前八位和後八位 127 gbk gb2312加上2萬多個漢字 前八位 127 unicode 國際通用 utf 8 推...
Linux 第十六天學習
一 dhcp dynamic host configuration protocol 採用udp 協議 引數 作用 ddns update style 型別 定義dns服務動態更新的型別,型別包括 none 不支援動態更新 interim 互動更新模式 與ad hoc 特殊更新模式 allow ig...
Python 第十六天
魔法方法總是被雙下劃線包圍 例如 init 注 魔法方法第乙個引數為cls 類方法 或者self 例項方法 其中 cls 代表乙個類名稱 self 代表乙個例項物件的名稱 基本方法 init self 構造器,當乙個例項被建立的時候呼叫的初始化方法 new cls 是在乙個物件例項化的時候所呼叫的第...