CDN Web Cache 原理及代理方式

CDN出現(xiàn)之前的網(wǎng)站服務(wù)技術(shù)

  • Scale up/Scale out
    Scale up:提升服務(wù)器硬件配置,無(wú)效解決遠(yuǎn)距離傳輸?shù)馁|(zhì)量問(wèn)題,需要對(duì)整個(gè)系統(tǒng)進(jìn)行硬件升級(jí),靈活性和可擴(kuò)展性差。
    Scale out:服務(wù)器集群
  • Mirroring
    鏡像通常用來(lái)備份,應(yīng)用于鏡像網(wǎng)站,對(duì)整個(gè)網(wǎng)站中的內(nèi)容進(jìn)行鏡像復(fù)制,進(jìn)行多點(diǎn)部署。用戶(hù)在訪(fǎng)問(wèn)網(wǎng)站時(shí),自主選擇速度快的站點(diǎn),降低主站的負(fù)載。
    實(shí)現(xiàn)方法:鏡像服務(wù)器安裝可以自動(dòng)遠(yuǎn)程備份的軟件,間隔一定時(shí)間,會(huì)向源服務(wù)器獲取最新內(nèi)容。
    優(yōu):對(duì)主站用戶(hù)分流,應(yīng)急備份
    劣:用戶(hù)選擇具有盲目性,不能時(shí)刻起到就近服務(wù);成本較高,對(duì)于源站完全復(fù)制。
  • 緩存技術(shù) CDN技術(shù)就是緩存技術(shù)的分布式實(shí)現(xiàn)
    把訪(fǎng)問(wèn)過(guò)的媒體數(shù)據(jù)進(jìn)行存儲(chǔ),重復(fù)使用。
    分層緩存部署:在不同物理層部署多臺(tái)緩存服務(wù)器,上層緩存作為下層緩存的內(nèi)容存儲(chǔ)器,為下層緩存供應(yīng)所需內(nèi)容。向用戶(hù)提供服務(wù)的下層緩存向上層緩存服務(wù)器提供所需內(nèi)容,而不是從源站請(qǐng)求。
    優(yōu):用戶(hù)獲得內(nèi)容的時(shí)間短,分擔(dān)主站壓力

Cache 設(shè)備原理及代理

Cache設(shè)備分為Web-cache和流媒體Cache兩類(lèi)。
Web-cache用于普通網(wǎng)頁(yè)的內(nèi)容緩存,也提供一定的流媒體、下載支持。
流媒體Cache用于對(duì)視頻流媒體進(jìn)行加速,功能單一。
在一次網(wǎng)頁(yè)訪(fǎng)問(wèn)的過(guò)程中,通常是這樣的:用戶(hù)->代理->網(wǎng)關(guān)->web服務(wù)器。Web-cache設(shè)備通常部署在這條訪(fǎng)問(wèn)的路徑上,通過(guò)正向代理、透明代理的模式,應(yīng)用最多的地方在網(wǎng)關(guān)上。
代理相關(guān)軟件推薦:squid(開(kāi)源),nginx(開(kāi)源),
(內(nèi)網(wǎng)安全行為審計(jì)也是基于此原理,主要指的是透明代理)

  • 正向代理(Forward proxy)

用戶(hù)需要自行設(shè)置代理地址為Web-cache服務(wù)器地址,用戶(hù)對(duì)互聯(lián)網(wǎng)的網(wǎng)絡(luò)訪(fǎng)問(wèn)全部通過(guò)這個(gè)代理地址訪(fǎng)問(wèn)。正向代理支持冗余配置,保證系統(tǒng)的穩(wěn)定性。(通常提到代理,默認(rèn)指正向代理)

User proxy device web server
[src:user ] [src:user ] [src:proxy device ]
[dst:proxy ] [dst:gateway ] [dst:local ]
[req:www.baidu.com] [req:www.baidu.com] [res:index.html]



動(dòng)態(tài)描述:User配置好代理設(shè)備IP并發(fā)起網(wǎng)絡(luò)訪(fǎng)問(wèn)后,所有的數(shù)據(jù)流量都會(huì)經(jīng)過(guò)Proxy device的審核,檢測(cè)代理緩存是否含有User所需的數(shù)據(jù),如有直接返回相應(yīng)數(shù)據(jù),若無(wú),則向serverIp獲取信息,并由proxy device返回給User。

  • 正向代理的應(yīng)用
    1. User無(wú)法直接訪(fǎng)問(wèn)web server,需要使用proxy,“Over Wall”就是這個(gè)道理

    2. 加速訪(fǎng)問(wèn)web server,一些游戲加速器就是這個(gè)道理

    3. 內(nèi)網(wǎng)用戶(hù)鑒權(quán),就是上文提到的內(nèi)網(wǎng)行為審計(jì)

    4. 保護(hù)訪(fǎng)問(wèn)路徑,通過(guò)proxy做跳板訪(fǎng)問(wèn)web server不顯示User所在ip,“”肉雞”就是這個(gè)道理

    5. Cache緩存設(shè)備,細(xì)節(jié)同動(dòng)態(tài)描述

  • 反向代理(Backward proxy)

反向代理無(wú)需User設(shè)置,反向代理中的Cache device 地址作為被訪(fǎng)問(wèn)站點(diǎn)的服務(wù)器地址,寫(xiě)入了DNS列表,用戶(hù)無(wú)法感知,對(duì)于用戶(hù)透明。區(qū)別于正向代理的地方是反向代理僅能對(duì)特定站點(diǎn)進(jìn)行加速,內(nèi)容分發(fā)。多用ISP/ICP和運(yùn)營(yíng)商環(huán)境,增加User訪(fǎng)問(wèn)速度和提高滿(mǎn)意度。當(dāng)網(wǎng)絡(luò)中Cache設(shè)備數(shù)目較多時(shí),需要引入GSLB設(shè)定內(nèi)容分發(fā)策略,對(duì)全網(wǎng)Cache節(jié)點(diǎn)進(jìn)行負(fù)載均衡,

User DNS server proxy web server
src:local src:local
dst:DNS server dst:usr
req:who's www.baidu.com res:proxy address
---- ---------- ----- ---------
src:local src:user
dst:proxy dst:"web server"or local
req:Get index.html res:index.html

特點(diǎn):主站服務(wù)器只與代理cache設(shè)備內(nèi)容交換,不與User直接通信。cache設(shè)備的作用是提供負(fù)載分擔(dān),安全隔離。對(duì)于CDN技術(shù)來(lái)說(shuō),智能DNS也是很關(guān)鍵的技術(shù)。

  • 透明代理(Transparent proxy)

User無(wú)需配置代理,cache設(shè)備為指定用戶(hù)服務(wù)有兩種辦法:a.user路由設(shè)備支持WCCP協(xié)議,會(huì)將指定用戶(hù)流量轉(zhuǎn)發(fā)至cache設(shè)備。b.利用四層交換機(jī)對(duì)指定用戶(hù)進(jìn)行流量轉(zhuǎn)發(fā)。

User proxy web server
src:local src:User src:gateway
dst:web server dst:web server dst:local
req:Get index.html req:Get index.html res:index.html

特點(diǎn):User無(wú)察覺(jué)代理審計(jì),直接對(duì)數(shù)據(jù)包進(jìn)行修改,可對(duì)用戶(hù)鑒權(quán),再?zèng)Q定是否回應(yīng)相關(guān)數(shù)據(jù)包給user。(透明代理可以截獲用戶(hù)數(shù)據(jù),完成安全認(rèn)證及訪(fǎng)問(wèn)控制)

  • web cache 實(shí)現(xiàn)關(guān)鍵
  • Web-cache 相當(dāng)于中間人,原本一次點(diǎn)對(duì)點(diǎn)的http請(qǐng)求,可能變成多次http請(qǐng)求,實(shí)現(xiàn)HTTP協(xié)議能力和緩存工作。
  • 根據(jù)不同應(yīng)用場(chǎng)景來(lái)確立相應(yīng)策略,主要針對(duì)性能和業(yè)務(wù)??梢詮囊韵路矫婵紤]:
    并發(fā)連接數(shù)量、并發(fā)流量大小、存儲(chǔ)空間大小、cpu處理性能及緩存大?。?br> web cache對(duì)數(shù)據(jù)的分析、過(guò)濾和安全保障。
  • 面向運(yùn)營(yíng)商的Web-cache要求比面向web站的要高很多。

原文: http://www.chieh.cc/posts/tech/2016-04-19-2016-04-19-Web-Cache-原理及代理方式.html  作者: Chieh

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,662評(píng)論 19 139
  • 上一篇《WEB請(qǐng)求處理一:瀏覽器請(qǐng)求發(fā)起處理》,我們講述了瀏覽器端請(qǐng)求發(fā)起過(guò)程,通過(guò)DNS域名解析服務(wù)器IP,并建...
    七寸知架構(gòu)閱讀 81,789評(píng)論 21 356
  • 工作流程 一次HTTP操作稱(chēng)為一個(gè)事務(wù),其工作過(guò)程可分為四步: 1)首先客戶(hù)機(jī)與服務(wù)器需要建立連接。只要單擊某個(gè)超...
    保川閱讀 4,728評(píng)論 2 14
  • 看了這么多的干貨,小編這次要放雞湯了,唉唉唉,別走啊,看完了再吐槽啊。 前幾天小編看了《小王子》覺(jué)得深有感觸,當(dāng)然...
    被子哥閱讀 383評(píng)論 0 1
  • 群通知:各位同修,在修行中難免出現(xiàn)學(xué)佛困惑,大家也知道,每晚八點(diǎn)師父都會(huì)給大家講法,而且經(jīng)常會(huì)抽出時(shí)間來(lái)給各位講解...
    幻影卐揭諦閱讀 417評(píng)論 0 0

友情鏈接更多精彩內(nèi)容