精品主題,實(shí)戰(zhàn)科普,最新行業(yè)熱點(diǎn)話題,隨時(shí)掌握云上咨訊。
基礎(chǔ)知識(shí)
服務(wù)器離用戶越近,HTTP請(qǐng)求的響應(yīng)時(shí)間將更短。
CNAME:別名記錄,當(dāng)多個(gè)域名需要指向同一服務(wù)器IP,可以使用一個(gè)域名做A記錄指向該服務(wù)器IP,然后讓多個(gè)域名指向該A記錄。
ICP:Internet Content Providor。
DNS:Domain Name System。
什么是內(nèi)容分發(fā)網(wǎng)絡(luò)?
CDN(Content Deliver Network)是一組分布在多個(gè)不同地理位置的Web服務(wù)器,通過(guò)將網(wǎng)站的資源發(fā)布到最接近用戶的網(wǎng)絡(luò)”邊緣“,供用戶就近取得所需內(nèi)容。CDN可以看作一種緩存代理,主要用于對(duì)靜態(tài)資源(如圖片,css,js等)的緩存。
CDN的網(wǎng)絡(luò)架構(gòu)
CDN的網(wǎng)絡(luò)架構(gòu)主要分為中心和邊緣兩個(gè)部分,中心服務(wù)器主要負(fù)責(zé)DNS解析和全局負(fù)載均衡;而邊緣服務(wù)器指異地節(jié)點(diǎn),作為CDN分發(fā)的載體,包括負(fù)載均衡和高速緩存。邊緣服務(wù)器的負(fù)載均衡負(fù)責(zé)緩存內(nèi)容的負(fù)載均衡,保證節(jié)點(diǎn)的工作效率,同時(shí)還負(fù)責(zé)與中心服務(wù)器通信,實(shí)現(xiàn)整個(gè)系統(tǒng)的負(fù)載均衡。邊緣服務(wù)器的高速緩存負(fù)責(zé)存儲(chǔ)從客戶源服務(wù)器獲取的資源,并提供給本地用戶訪問(wèn)。
CDN的工作原理
除了一些大型互聯(lián)網(wǎng)公司擁有自己的CDN,其他公司基本都會(huì)選擇CDN運(yùn)營(yíng)商合作。
所以作為ICP,需要把域名解釋權(quán)交給CDN運(yùn)營(yíng)商,操作時(shí)ICP修改自己的域名解析部分,一般用CNAME的方式,將自己的靜態(tài)資源域名指向一個(gè)CDN提供的CNAME。
而作為CDN運(yùn)營(yíng)商,需要對(duì)CNAME提供專(zhuān)用DNS解析,同時(shí)需要維護(hù)客戶服務(wù)器的域名和IP地址映射列表。
CDN工作流程如下:
1.瀏覽器獲得需要訪問(wèn)的資源的域名;
2.通過(guò)域名解析得到該域名指向CDN的一個(gè)CNAME;
3.為了獲得IP地址,需要對(duì)CNAME進(jìn)行域名解析,這時(shí)請(qǐng)求就會(huì)被發(fā)送到CDN的中心服務(wù)器,全局負(fù)載均衡通過(guò)預(yù)先設(shè)定的規(guī)則,同時(shí)根據(jù)用戶訪問(wèn)的地理位置信息,把最合適的邊緣服務(wù)器IP地址返回;
4.瀏覽器獲得IP地址后,就向邊緣服務(wù)器發(fā)出請(qǐng)求;
5.邊緣服務(wù)器根據(jù)訪問(wèn)域名,首先搜索緩存,查看資源是否存在,存在則直接返回資源給瀏覽器,直接完成整個(gè)資源請(qǐng)求過(guò)程,否則就根據(jù)緩存內(nèi)部的DNS解析得到資源實(shí)際IP地址(即客戶的服務(wù)器IP地址),向該IP地址發(fā)起資源請(qǐng)求;
6.邊緣服務(wù)器向客戶服務(wù)器請(qǐng)求資源成功后,就把該資源加入本身的高速緩存中,并把資源發(fā)送給用戶。
CDN的簡(jiǎn)單應(yīng)用
其實(shí)CDN的使用并沒(méi)有和我們想象中那么遙遠(yuǎn),JQuery應(yīng)該是當(dāng)今Web開(kāi)發(fā)領(lǐng)域使用最為廣泛的js框架之一,很多時(shí)候我們的網(wǎng)站都需要引用一個(gè)jquery.min.js的引用,我們可以將這個(gè)js文件存儲(chǔ)在自己的服務(wù)器,或者更好的選擇:使用大公司的CDN服務(wù)提供的jquery.min.js. 微軟和google都提供了jquery的CDN免費(fèi)服務(wù),你只需做的事情就是在項(xiàng)目中引用它們,就能享受CDN帶來(lái)的便利。
在線咨詢
QQ咨詢
服務(wù)熱線
申請(qǐng)?jiān)囉?/p>
公眾號(hào)
掃碼關(guān)注我們