摘要:維基百科的基本工作過程最簡(jiǎn)單的網(wǎng)絡(luò)是由一臺(tái)服務(wù)器和多臺(tái)緩存服務(wù)器構(gòu)成。用戶向緩存服務(wù)器發(fā)起請(qǐng)求,緩存服務(wù)器響應(yīng)用戶請(qǐng)求,將用戶所需內(nèi)容傳送到用戶終端。
前言
這段時(shí)間,在工作中遇到了一個(gè)CDN導(dǎo)致的圖片資源加載的錯(cuò)誤,在排查問題的過程中,發(fā)現(xiàn)自己對(duì)CDN的了解非常的片面,僅僅停留在它能緩存靜態(tài)資源,提升訪問速度的了解中。所以覺得還是非常有必要深入去了解下。
什么是CDN?CDN的全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò),是指一種通過互聯(lián)網(wǎng)互相連接的電腦網(wǎng)絡(luò)系統(tǒng),利用最靠近每位用戶的服務(wù)器,更快、更可靠地將音樂、圖片、視頻、應(yīng)用程序及其他文件發(fā)送給用戶,來提供高性能、可擴(kuò)展性及低成本的網(wǎng)絡(luò)內(nèi)容傳遞給用戶。————維基百科
CDN的基本工作過程最簡(jiǎn)單的CDN網(wǎng)絡(luò)是由一臺(tái)CDN服務(wù)器和多臺(tái)緩存服務(wù)器構(gòu)成。
主要工作過程為:
當(dāng)用戶點(diǎn)擊網(wǎng)站頁面上的內(nèi)容URL,經(jīng)過本地DNS系統(tǒng)解析,DNS系統(tǒng)會(huì)最終將域名的解析權(quán)交給CNAME指向的CDN專用DNS服務(wù)器。
DN的DNS服務(wù)器將CDN的全局負(fù)載均衡設(shè)備IP地址返回用戶。
用戶向CDN的全局負(fù)載均衡設(shè)備發(fā)起內(nèi)容URL訪問請(qǐng)求。
CDN全局負(fù)載均衡設(shè)備根據(jù)用戶IP地址,以及用戶請(qǐng)求的內(nèi)容URL,選擇一臺(tái)用戶所屬區(qū)域的區(qū)域負(fù)載均衡設(shè)備,告訴用戶向這臺(tái)設(shè)備發(fā)起請(qǐng)求。
區(qū)域負(fù)載均衡設(shè)備會(huì)為用戶選擇一臺(tái)合適的緩存服務(wù)器提供服務(wù),選擇的依據(jù)包括:根據(jù)用戶IP地址,判斷哪一臺(tái)服務(wù)器距用戶最近;根據(jù)用戶所請(qǐng)求的URL中攜帶的內(nèi)容名稱,判斷哪一臺(tái)服務(wù)器上有用戶所需內(nèi)容;查詢各個(gè)服務(wù)器當(dāng)前的負(fù)載情況,判斷哪一臺(tái)服務(wù)器尚有服務(wù)能力。基于以上這些條件的綜合分析之后,區(qū)域負(fù)載均衡設(shè)備會(huì)向全局負(fù)載均衡設(shè)備返回一臺(tái)緩存服務(wù)器的IP地址。
全局負(fù)載均衡設(shè)備把服務(wù)器的IP地址返回給用戶。
用戶向緩存服務(wù)器發(fā)起請(qǐng)求,緩存服務(wù)器響應(yīng)用戶請(qǐng)求,將用戶所需內(nèi)容傳送到用戶終端。如果這臺(tái)緩存服務(wù)器上并沒有用戶想要的內(nèi)容,而區(qū)域均衡設(shè)備依然將它分配給了用戶,那么這臺(tái)服務(wù)器就要向它的上一級(jí)緩存服務(wù)器請(qǐng)求內(nèi)容,直至追溯到網(wǎng)站的源服務(wù)器將內(nèi)容拉到本地。
為什么需要CDN根本上的原因是訪問速度,訪問速度對(duì)互聯(lián)網(wǎng)應(yīng)用的用戶體驗(yàn),甚至說各種指標(biāo)(DAU,PV,UV,營(yíng)收...)都有巨大的影響,任何的互聯(lián)網(wǎng)企業(yè)都渴望自己站點(diǎn)有更快的訪問速度和更好的用戶體驗(yàn)。而HTTP傳輸時(shí)延對(duì)web的訪問速度的影響很大(HTTPS更耗時(shí)),在絕大多數(shù)情況下是起決定性作用的,這是由TCP/IP協(xié)議的一些特點(diǎn)決定的。
想要提高訪問速度,最直接的做法就是多部署幾個(gè)服務(wù)器在不同的地方,讓當(dāng)前訪問用戶更靠近服務(wù)器。但是多設(shè)置幾個(gè)服務(wù)器又會(huì)有其他亂七八糟的問題(異地部署,訪問一致性,服務(wù)管理,成本變高等等)。
這個(gè)時(shí)候就體現(xiàn)出CDN的作用了。CDN本身是一種公共服務(wù),他本身有很多臺(tái)位于不同地域、接入不同運(yùn)營(yíng)商的服務(wù)器,而所謂的使用CDN實(shí)質(zhì)上就是讓CDN作為網(wǎng)站的門面,用戶訪問到的是CDN服務(wù)器,而不是直接訪問到網(wǎng)站。由于CDN內(nèi)部對(duì)TCP的優(yōu)化、對(duì)靜態(tài)資源的緩存、預(yù)取,加上用戶訪問CDN時(shí),會(huì)被智能地分配到最近的節(jié)點(diǎn),降低大量延遲,讓訪問速度可以得到很大提升。
最后掌握CDN工作流程或者基本的原理這種知識(shí),對(duì)于一個(gè)前端來說,在甩鍋的時(shí)候更方便。當(dāng)然最主要是為了解決工作中的問題。
感謝知乎關(guān)于CDN的回答
深度剖析:CDN內(nèi)容分發(fā)網(wǎng)絡(luò)技術(shù)原理
維基百科、百度百科
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/107917.html
摘要:維基百科的基本工作過程最簡(jiǎn)單的網(wǎng)絡(luò)是由一臺(tái)服務(wù)器和多臺(tái)緩存服務(wù)器構(gòu)成。用戶向緩存服務(wù)器發(fā)起請(qǐng)求,緩存服務(wù)器響應(yīng)用戶請(qǐng)求,將用戶所需內(nèi)容傳送到用戶終端。 前言 這段時(shí)間,在工作中遇到了一個(gè)CDN導(dǎo)致的圖片資源加載的錯(cuò)誤,在排查問題的過程中,發(fā)現(xiàn)自己對(duì)CDN的了解非常的片面,僅僅停留在它能緩存靜態(tài)資源,提升訪問速度的了解中。所以覺得還是非常有必要深入去了解下。 什么是CDN? CDN的全稱...
摘要:真正要做高性能的系統(tǒng),不僅需要在數(shù)據(jù)結(jié)構(gòu)與算法層面深入,更要從硬件操作系統(tǒng)文件系統(tǒng)底層原理等多個(gè)領(lǐng)域做更多的研究例如阿里云自研的系統(tǒng)使用了裸盤技術(shù)。 《CDN之我見》共由三個(gè)篇章組成,分為原理篇、詳解篇和隕坑篇。本篇章適合那些從未接觸過、或僅了解一些 CDN 專業(yè)術(shù)語,想深入了解和感受 CDN 究竟是什么的同學(xué)。本次由白金老師繼續(xù)為大家分享《CDN之我見》系列二,主要講解緩存是什么、工...
摘要:真正要做高性能的系統(tǒng),不僅需要在數(shù)據(jù)結(jié)構(gòu)與算法層面深入,更要從硬件操作系統(tǒng)文件系統(tǒng)底層原理等多個(gè)領(lǐng)域做更多的研究例如阿里云自研的系統(tǒng)使用了裸盤技術(shù)。 《CDN之我見》共由三個(gè)篇章組成,分為原理篇、詳解篇和隕坑篇。本篇章適合那些從未接觸過、或僅了解一些 CDN 專業(yè)術(shù)語,想深入了解和感受 CDN 究竟是什么的同學(xué)。本次由白金老師繼續(xù)為大家分享《CDN之我見》系列二,主要講解緩存是什么、工...
摘要:一團(tuán)隊(duì)組織網(wǎng)站說明騰訊團(tuán)隊(duì)騰訊前端團(tuán)隊(duì),代表作品,致力于前端技術(shù)的研究騰訊社交用戶體驗(yàn)設(shè)計(jì),簡(jiǎn)稱,騰訊設(shè)計(jì)團(tuán)隊(duì)網(wǎng)站騰訊用戶研究與體驗(yàn)設(shè)計(jì)部百度前端研發(fā)部出品淘寶前端團(tuán)隊(duì)用技術(shù)為體驗(yàn)提供無限可能凹凸實(shí)驗(yàn)室京東用戶體驗(yàn)設(shè)計(jì)部出品奇舞團(tuán)奇虎旗下前 一、團(tuán)隊(duì)組織 網(wǎng)站 說明 騰訊 AlloyTeam 團(tuán)隊(duì) 騰訊Web前端團(tuán)隊(duì),代表作品WebQQ,致力于前端技術(shù)的研究 ISUX 騰...
閱讀 2833·2023-04-25 20:06
閱讀 1450·2021-08-26 14:15
閱讀 2241·2021-08-12 13:27
閱讀 1777·2019-08-30 15:55
閱讀 3479·2019-08-30 13:20
閱讀 2832·2019-08-29 15:12
閱讀 3336·2019-08-29 15:06
閱讀 2866·2019-08-29 14:13