一**、CDN常見多級快取**
1、CDN概念
- CDN的全稱是Content Delivery Network,即內容分發網路,其基本思路是盡可能避開互聯網上有可能影響資料傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定,通過在網路各處放置節點服務器所構成的在現有的互聯網基礎之上的一層智能虛擬網路,CDN系統能夠實時地根據網路流量和各節點的連接、負載狀況以及到用戶的距離和回應時間等綜合資訊將用戶的請求重新導向離用戶最近的服務節點上,其目的是使用戶可就近取得所需內容,解決 Internet網路擁擠的狀況,提高用戶訪問網站的回應速度,
2、CDN作業方法
- 客戶端瀏覽器先檢查是否有本地快取是否過期,如果過期,則向CDN邊緣節點發起請求,CDN邊緣節點會檢測用戶請求資料的快取是否過期,如果沒有過期,則直接回應用戶請求,此時一個完成http請求結束;如果資料已經過期,那么CDN還需要向源站發出回源請求(back to the source request),來拉取最新的資料,CDN的典型拓撲圖如下:

CDN的典型拓撲圖
3、CDN層級劃分:
- CDN系統中,直接面向用戶,負責給用戶提供內容服務的的Cache設備都部署在整個 CDN網路的邊緣位置,所以將這一層稱為邊緣層,
- CDN系統中,中心層負責全域的管理和控制,同時也保存了最多的內容Cache,在邊緣層設備未能命中Cache時,需要向中心層設備請求;而中心層未能命中時,則需要向源站請求,不同的CDN系統設計存在差異,中心層可能具備用戶服務的能力,也可能只會向下一層提供服務,
- 如果CDN系統比較龐大,邊緣層向中心層請求內容太多,會造成中心層負載壓力太大,此時,需要在中心層和邊緣層之間部署一個區域層,負責一個區域的管理和控制,也可以提供一些內容Cache供邊緣層訪問,
4、CDN快取
瀏覽器本地快取失效后,瀏覽器會向CDN邊緣節點發起請求,類似瀏覽器快取,CDN邊緣節點也存在著一套快取機制,
5、CDN快取的缺點
CDN的分流作用不僅減少了用戶的訪問延時,也減少的源站的負載,但其缺點也很明顯:當網站更新時,如果CDN節點上資料沒有及時更新,即便用戶再瀏覽器使用Ctrl +F5的方式使瀏覽器端的快取失效,也會因為CDN邊緣節點沒有同步最新資料而導致用戶訪問例外,
6、CDN快取策略
- CDN邊緣節點快取策略因服務商不同而不同,但一般都會遵循http標準協議,通過http回應頭中的Cache-control: max-age的欄位來設定CDN邊緣節點資料快取時間,
- 當客戶端向CDN節點請求資料時,CDN節點會判斷快取資料是否過期,若快取資料并沒有過期,則直接將快取資料回傳給客戶端;否則,CDN節點就會向源站發出回源請求,從源站拉取最新資料,更新本地快取,并將最新資料回傳給客戶端,
- CDN服務商一般會提供基于檔案后綴、目錄多個維度來指定CDN快取時間,為用戶提供更精細化的快取管理,
- CDN快取時間會對“回源率”產生直接的影響,若CDN快取時間較短,CDN邊緣節點上的資料會經常失效,導致頻繁回源,增加了源站的負載,同時也增大的訪問延時;若CDN快取時間太長,會帶來資料更新時間慢的問題,開發者需要增對特定的業務,來做特定的資料快取時間管理,
7、CDN快取重繪
CDN邊緣節點對開發者是透明的,相比于瀏覽器Ctrl+F5的強制重繪來使瀏覽器本地快取失效,開發者可以通過CDN服務商提供的“重繪快取”介面來達到清理CDN邊緣節點快取的目的,這樣開發者在更新資料后,可以使用“重繪快取”功能來強制CDN節點上的資料快取過期,保證客戶端在訪問時,拉取到最新的資料,
二**、CDN回源**
1、回源原理
- 源站內容有更新的時候,源站主動把內容推送到CDN節點,
- 常規的CDN都是回源的,即:當有用戶訪問某一個URL的時候,如果被決議到的那個CDN節點沒有快取回應的內容,或者是快取已經到期,就會回源站去獲取,如果沒有人訪問,那么CDN節點不會主動去源站拿的,
- 回源域名一般是cdn領域的專業術語,通常情況下,是直接用ip進行回源的,但是如果客戶源站有多個ip,并且ip地址會經常變化,對于cdn廠商來說,為了避免經常更改配置(回源ip),會采用回源域名方式進行回源,這樣即使源站的ip變化了,也不影響原有的配置,
- CDN本來是給我們的網站加速的,但是有時會因為不合適的回源策略給服務器帶來負擔,只有選擇正確的策略才能給自己的網站帶來更高的訪問效率,
2、CDN回源率計算方法
回源比分為回源請求數比例及回源流量比例兩種
- 回源請求數比:統計資料來自所有邊緣節點上的請求記錄,其中,對于沒有快取或快取過期(可快取)的請求以及不可快取的請求,均計入回源請求中,其他直接命中快取的,則為命中請求,
- 回源流量比:回源流量是回源請求檔案大小產生的流量和請求本身產生的流量 回源流量比=回源流量/回源流量+用戶請求訪問的流量
參考文獻:https://blog.csdn.net/mountains2001/article/details/52766431https://blog.csdn.net/wangxin1982314/article/details/51050206/https://blog.csdn.net/songchunmin_/article/details/69942991
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/259577.html
標籤:其他
上一篇:服務認證授權:OAuth2.0
下一篇:Builder生成器模式
