欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CDN的加速緩存原理與回源機(jī)制解析

 更新時(shí)間:2023年09月09日 15:58:42   投稿:yin  
CDN 是一個(gè)分布式的內(nèi)容分發(fā)網(wǎng)絡(luò),當(dāng)用戶請(qǐng)求一個(gè)網(wǎng)絡(luò)資源時(shí),用戶請(qǐng)求的是 CDN 提供的資源,和域名系統(tǒng)類似,當(dāng)用戶請(qǐng)求一個(gè)資源時(shí),首先會(huì)接觸到一個(gè)類似域名系統(tǒng)中目錄的服務(wù),這個(gè)服務(wù)會(huì)告訴用戶究竟去哪個(gè) IP 獲取這個(gè)資源,

CDN 是一個(gè)分布式的內(nèi)容分發(fā)網(wǎng)絡(luò)。當(dāng)用戶請(qǐng)求一個(gè)網(wǎng)絡(luò)資源時(shí),用戶請(qǐng)求的是 CDN 提供的資源。和域名系統(tǒng)類似,當(dāng)用戶請(qǐng)求一個(gè)資源時(shí),首先會(huì)接觸到一個(gè)類似域名系統(tǒng)中目錄的服務(wù),這個(gè)服務(wù)會(huì)告訴用戶究竟去哪個(gè) IP 獲取這個(gè)資源。事實(shí)上,很多大型的應(yīng)用,會(huì)把 DNS 解析作為一種負(fù)載均衡的手段。當(dāng)用戶請(qǐng)求一個(gè)網(wǎng)址的時(shí)候,會(huì)從該網(wǎng)站提供的智能 DNS 中獲取網(wǎng)站的 IP。

CDN 是什么?

CDN加速的原理基于兩個(gè)關(guān)鍵概念:緩存和就近訪問。

1. 緩存:CDN節(jié)點(diǎn)會(huì)將網(wǎng)站的靜態(tài)資源(如圖片、CSS、JavaScript等)復(fù)制到各個(gè)服務(wù)器上,并將其存儲(chǔ)在高速緩存中。當(dāng)用戶發(fā)起請(qǐng)求時(shí),CDN會(huì)先檢查是否有緩存的副本。如果有,CDN會(huì)直接將資源返回給用戶,而無(wú)需向原始服務(wù)器發(fā)出請(qǐng)求。

2. 就近訪問:CDN網(wǎng)絡(luò)由分布在全球各地的節(jié)點(diǎn)組成。當(dāng)用戶發(fā)起請(qǐng)求時(shí),CDN會(huì)根據(jù)用戶的地理位置,將請(qǐng)求路由到距離用戶最近的節(jié)點(diǎn)。這樣做可以減少數(shù)據(jù)傳輸?shù)木嚯x和網(wǎng)絡(luò)延遲,提高網(wǎng)站的加載速度。

CDN緩存

當(dāng)用戶請(qǐng)求一個(gè)靜態(tài)資源的時(shí)候,首先會(huì)觸發(fā)域名系統(tǒng)的解析。域名系統(tǒng)會(huì)將解析的責(zé)任交由 CDN 提供商來(lái)處理,CDN 的智能 DNS 服務(wù)會(huì)幫助用戶選擇離自己距離最近的節(jié)點(diǎn),返回這個(gè)節(jié)點(diǎn)的 A(或 AAAA)記錄。然后客戶端會(huì)向 CDN 的資源節(jié)點(diǎn)發(fā)起請(qǐng)求,最終獲得資源。

在上面整個(gè)過(guò)程當(dāng)中,CDN 的智能 DNS 還充當(dāng)了負(fù)載均衡的作用。如果一個(gè)節(jié)點(diǎn)壓力過(guò)大,則可以將流量導(dǎo)向其他的節(jié)點(diǎn)。

CDN往往被用來(lái)存放靜態(tài)資源。所謂靜態(tài)資源就像JS CSS 圖片等不需要業(yè)務(wù)服務(wù)器進(jìn)行計(jì)算得到的資源。而動(dòng)態(tài)資源, 顧名思義就是i需要后端實(shí)時(shí)動(dòng)態(tài)生成的資源, 較為常見的就是JSP ASP 或者依賴服務(wù)端渲染得到的HTML頁(yè)面。

CDN 回源

CDN 回源就是 CDN 節(jié)點(diǎn)到源站請(qǐng)求資源,重新設(shè)置緩存。在 CDN 的設(shè)計(jì)當(dāng)中,CDN 實(shí)際上提供的是數(shù)據(jù)的緩存。而原始數(shù)據(jù),則由服務(wù)的提供者提供。

用戶的請(qǐng)求先到達(dá)緩存層,如果緩存被穿透,才到達(dá)最終的存儲(chǔ)層。緩存的設(shè)計(jì)必須是分布式的,因?yàn)榻^大多數(shù)的資源使用都會(huì)發(fā)生在緩存上,只有極少數(shù)的請(qǐng)求才會(huì)穿透到底層的存儲(chǔ)。通常這種設(shè)計(jì),我們期望緩存層至少需要幫擋住 99% 的流量。既然緩存層能擋住 99% 的流量,那么實(shí)際的數(shù)據(jù)存儲(chǔ)就可以交由源站點(diǎn)完成。

源站內(nèi)容有更新的時(shí)候,源站主動(dòng)把內(nèi)容推送到CDN節(jié)點(diǎn)。常規(guī)的CDN都是回源的。即:當(dāng)有用戶訪問某一個(gè)URL的時(shí)候,如果被解析到的那個(gè)CDN節(jié)點(diǎn)沒有緩存響應(yīng)的內(nèi)容,或者是緩存已經(jīng)到期,就會(huì)回源站去獲取。如果沒有人訪問,那么CDN節(jié)點(diǎn)不會(huì)主動(dòng)去源站拿的。

回源域名一般是cdn領(lǐng)域的專業(yè)術(shù)語(yǔ),通常情況下,是直接用ip進(jìn)行回源的,但是如果客戶源站有多個(gè)ip,并且ip地址會(huì)經(jīng)常變化,對(duì)于cdn廠商來(lái)說(shuō),為了避免經(jīng)常更改配置(回源ip),會(huì)采用回源域名方式進(jìn)行回源,這樣即使源站的ip變化了,也不影響原有的配置。

CDN 回源有 3 種情況,一種是 CDN 節(jié)點(diǎn)沒有對(duì)應(yīng)資源時(shí)主動(dòng)到源站獲取資源;另一種是緩存失效后,CDN 節(jié)點(diǎn)到源站獲取資源;還有一種情況是在 CDN 管理后臺(tái)或者使用開放接口主動(dòng)刷新觸發(fā)回源。

總結(jié)

CDN適用于靜態(tài)技術(shù),比如圖片,游戲下載,視頻等。缺點(diǎn):CDN用到的是緩存技術(shù),加速的是網(wǎng)站的靜態(tài)、公用部分。如果是動(dòng)態(tài)網(wǎng)站,不能緩存,每次都要回源服務(wù)器訪問,用了CDN反而增加了一個(gè)環(huán)節(jié),不好。

到此這篇關(guān)于CDN的加速緩存原理與回源機(jī)制解析的文章就介紹到這了,更多相關(guān)CDN的加速緩存與回源內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論