火云邪神講:天下武功唯快不破!同樣,在現(xiàn)代社會中,如果做事情不講究速度,那么勢必會落后于他人。
而隨著 Internet 技術(shù)和多媒體技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)服務(wù)已經(jīng)與我們的生活不可分割,例如:移動支付、視頻電話…… 自媒體的發(fā)展,更是讓短視頻服務(wù)成為了每個上網(wǎng)人的首要選擇。
但是,視頻網(wǎng)站的容量是有限的,在為各地區(qū)的人們提供服務(wù)時,網(wǎng)絡(luò)訪問距離過長(例如:視頻服務(wù)器在北京,訪問的用戶在南京,那么傳輸?shù)木嚯x比較長),用戶與網(wǎng)站之間的鏈路被突發(fā)的大流量數(shù)據(jù)擁塞(例如:春晚時,全國十幾億人都同時接入視頻服務(wù)器,鏈路多了會導(dǎo)致網(wǎng)絡(luò)通道堵塞),都將導(dǎo)致網(wǎng)絡(luò)負(fù)載迅速增加,從而使用戶的訪問質(zhì)量受到嚴(yán)重影響。例如:網(wǎng)頁登錄延遲、視頻卡頓……
那么,在網(wǎng)絡(luò)世界中,誰為我們提供了速度保障呢?那就是我們的幕后英雄:CDN。
01、什么是 CDN
CDN:Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。
拆開解釋:
內(nèi)容:指的是靜態(tài)資源。
靜態(tài)資源:前端的固定頁面,無需查數(shù)據(jù)庫,也不需要程序處理,直接能顯示的頁面。例如:圖片、視頻、文檔、JS、CSS、HTML。
分發(fā)網(wǎng)絡(luò):指的是將靜態(tài)資源分發(fā)到不同地理位置的服務(wù)器。
課代表總結(jié)
CDN 就是將靜態(tài)資源分發(fā)到多個不同的地方以實現(xiàn)就近訪問,進(jìn)而加快靜態(tài)資源的訪問速度,減輕服務(wù)器以及帶寬的負(fù)擔(dān)
02、CDN 的訪問機(jī)制
現(xiàn)在,我們已經(jīng)了解了 CDN 的內(nèi)容。那么,在網(wǎng)絡(luò)上部署了 CDN 后,用戶訪問服務(wù)器時,CDN 具體是怎么發(fā)揮作用的呢?
CDN 的工作機(jī)制,有點類似京東的倉儲系統(tǒng)。即提前在各地倉庫儲備好商品,當(dāng)用戶下單后,則直接從用戶所在城市的倉庫發(fā)貨,縮短了物流的時間。
1. “客戶端”通過瀏覽器訪問服務(wù)器。
2. 瀏覽器調(diào)用域名解析庫對域名進(jìn)行解析,得到 CDN 緩存服務(wù)器的 IP 地址(即邊緣節(jié)點)。
3. 瀏覽器使用得到的 IP 地址,向緩存服務(wù)器發(fā)出訪問請求。(類比為:南京的文檔君在京東上下單購買某件商品 A)
4. CDN 緩存服務(wù)器判斷是否存在已緩存的內(nèi)容,并進(jìn)行對應(yīng)的操作。(類比為:京東系統(tǒng)查看南京的倉儲中心是否有商品 A)
存在待緩存的內(nèi)容:將對應(yīng)的數(shù)據(jù)返回給客戶端。(南京的倉儲中心有商品 A,則直接從南京倉儲中心發(fā)貨給南京的文檔君)
不存在待緩存的內(nèi)容或待緩存的內(nèi)容失效:緩存服務(wù)器從實際 IP 地址(即中心節(jié)點)獲取內(nèi)容。獲取內(nèi)容后,一方面在本地進(jìn)行保存,以備以后使用,另一方面把獲取的數(shù)據(jù)返回給客戶端,完成數(shù)據(jù)服務(wù)過程。(南京的倉儲中心沒有商品 A,則從總倉儲中心發(fā)貨給南京的文檔君)
說明:邊緣節(jié)點緩存的內(nèi)容可通過 CDN 緩存配置進(jìn)行維護(hù),且若中心節(jié)點的發(fā)生變化,則緩存服務(wù)器中對應(yīng)的內(nèi)容失效。
5. “客戶端”得到由緩存服務(wù)器返回的數(shù)據(jù)以后顯示出來并完成整個瀏覽的數(shù)據(jù)請求過程。
03、CDN 的架構(gòu)
CDN 的網(wǎng)絡(luò)架構(gòu)由節(jié)點組成,每個節(jié)點包括高速緩存服務(wù)器(Cache)和負(fù)載均衡設(shè)備。
CDN 網(wǎng)絡(luò)架構(gòu)的三種節(jié)點:
中心節(jié)點:指 CDN 網(wǎng)管中心和 DNS 重定向解析中心負(fù)責(zé)全局負(fù)載均衡和內(nèi)容管理,設(shè)備系統(tǒng)安裝在管理中心機(jī)房(即視頻網(wǎng)站的主服務(wù)器)。存儲所有內(nèi)容,為邊緣節(jié)點未命中的用戶提供服務(wù)。例如:深圳。
區(qū)域中心節(jié)點:可按要求存儲全部或部分內(nèi)容,為邊緣節(jié)點未命中的用戶提供服務(wù)。例如:南京。
邊緣節(jié)點:指異地節(jié)點,CDN 分發(fā)的載體,就近為用戶提供流媒體服務(wù)。例如:南京的雨花臺區(qū)。
每個節(jié)點的組成:
高速緩存服務(wù)器(Cache):負(fù)責(zé)存儲客戶網(wǎng)站的大量信息,就像一個靠近用戶的網(wǎng)站服務(wù)器一樣響應(yīng)本地用戶的訪問請求。
負(fù)載均衡設(shè)備:負(fù)責(zé)每個節(jié)點中各個 Cache 的負(fù)載均衡,保證節(jié)點的工作效率;同時,負(fù)載均衡設(shè)備還負(fù)責(zé)收集節(jié)點與周圍環(huán)境的信息,保持與全局負(fù)載 DNS 的通信,實現(xiàn)整個系統(tǒng)的負(fù)載均衡。
CDN 的網(wǎng)絡(luò)架構(gòu)有三種模式:
二級架構(gòu)
三級架構(gòu)
混合架構(gòu)
混合組網(wǎng)架構(gòu)是二級組網(wǎng)架構(gòu)和三級組網(wǎng)架構(gòu)的結(jié)合。
在該區(qū)域的用戶發(fā)展規(guī)模較小時,暫時采用邊緣節(jié)點和中心節(jié)點二級架構(gòu)提供服務(wù)。
隨著用戶數(shù)量的發(fā)展,當(dāng)該區(qū)域的用戶規(guī)模達(dá)到一定數(shù)量時,添加區(qū)域中心節(jié)點,為該區(qū)域提供三級架構(gòu)服務(wù)。
結(jié)語
關(guān)于 CDN 的內(nèi)容就講這么多了,一句話秒懂總結(jié):CDN 其實就是一個幕后英雄,他承擔(dān)的是搬運(yùn)工的工作,即提前將內(nèi)容搬運(yùn)到我們附近,讓我們能盡快獲取對應(yīng)的內(nèi)容。
本文來自微信公眾號:中興文檔 (ID:ztedoc)
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。