一文了解什么是CDN及實(shí)現(xiàn)原理
正文
由于用戶(hù)訪問(wèn)源站業(yè)務(wù)有性能瓶頸,通過(guò)cdn技術(shù)把源站的內(nèi)容緩存到多個(gè)節(jié)點(diǎn)。用戶(hù)向源站域名發(fā)起請(qǐng)求時(shí),請(qǐng)求會(huì)被調(diào)度至最接近用戶(hù)的服務(wù)節(jié)點(diǎn),直接由服務(wù)節(jié)點(diǎn)直接快速響應(yīng),有效降低用戶(hù)訪問(wèn)延遲,提升可用性。
了解cdn需要先了解一下知識(shí)點(diǎn):
1、dns解析原理
2、CNAME作用
dns解析流程
說(shuō)再多也不如實(shí)際應(yīng)用,讓我們從例子中了解dns解析流程
nslookup 是dns解析的命令,server 10.0.0.1是公司內(nèi)部的dns服務(wù)器的ip. 139.196.3.197是請(qǐng)求域名的ip。
讓我們來(lái)一步步分析解析流程:
首先會(huì)查看本地緩存查詢(xún)是否有對(duì)應(yīng)的域名解析ip。
1、沒(méi)有的情況下,向配置的dns服務(wù)器發(fā)起請(qǐng)求。(10.0.0.1為公司內(nèi)部dns服務(wù)器ip)
2、Received 631 bytes from 10.0.0.1#53(10.0.0.1) in 54 ms -- 10.0.0.1會(huì)返回根域名服務(wù)器的地址。(根域名服務(wù)器有多個(gè),所以返回很多域名)
3、Received 1174 bytes from 202.12.27.33#53(m.root-servers.net) -- 本機(jī)向根域名發(fā)起解析請(qǐng)求,根域名服務(wù)器返回.com頂級(jí)域名服務(wù)器地址。
4、Received 887 bytes from 192.42.93.30#53(g.gtld-servers.net) -- 本機(jī)向com.域名服務(wù)器發(fā)起請(qǐng)求,返回moehot.com.域名服務(wù)器地址。
5、最后向moehot.com.域名發(fā)起請(qǐng)求得到www.moehot.com. 的ip地址。
騰訊云cdn實(shí)例
假設(shè)您的業(yè)務(wù)源站域名為 www.test.com ,當(dāng)域名接入 CDN 開(kāi)始使用加速服務(wù)后,您的用戶(hù)發(fā)起 HTTP 請(qǐng)求,實(shí)際的處理流程如圖所示:
1、用戶(hù)向 www.test.com 下的某圖片資源,如 1.jpg 發(fā)起請(qǐng)求,先要向 Local DNS 發(fā)起域名解析請(qǐng)求;
2、當(dāng) Local DNS 解析 www.test.com 時(shí),會(huì)發(fā)現(xiàn)已經(jīng)配置了 CNAME,www.test.com.cdn.dnsv1.com,解析請(qǐng)求會(huì)發(fā)送至 Tencent DNS(GSLB),GSLB 為騰訊云自主研發(fā)的調(diào)度體系,會(huì)為請(qǐng)求分配最佳節(jié)點(diǎn) IP;
3、Local DNS 獲取 Tencent DNS 返回的解析 IP;
4、用戶(hù)測(cè)獲取解析 IP;
5、用戶(hù)向獲取的 IP 發(fā)起對(duì)資源 1.jpg 的訪問(wèn)請(qǐng)求;
6、若該 IP 對(duì)應(yīng)的節(jié)點(diǎn)緩存有 1.jpg,則會(huì)將數(shù)據(jù)直接返回給用戶(hù)(10),此時(shí)請(qǐng)求結(jié)束。若該節(jié)點(diǎn)未緩存 1.jpg,則節(jié)點(diǎn)會(huì)向業(yè)務(wù)源站發(fā)起對(duì) 1.jpg 的請(qǐng)求(6、7、8),獲取資源后,結(jié)合用戶(hù)自定義配置的緩存策略(可參考用戶(hù)指南中緩存時(shí)間設(shè)置章節(jié)內(nèi)容),將資源存儲(chǔ)(9),并返回給用戶(hù)(10),此時(shí)請(qǐng)求結(jié)束。
以上就是CDN及實(shí)現(xiàn)原理的詳細(xì)內(nèi)容,更多關(guān)于CDN實(shí)現(xiàn)原理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
服務(wù)器端如何使用CORS來(lái)允許設(shè)置Cookie
這篇文章主要為大家介紹了服務(wù)器端如何使用CORS來(lái)允許設(shè)置Cookie的方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01在Windows下利用Squid開(kāi)設(shè)代理服務(wù)器
利用Squid在Windows下開(kāi)設(shè)代理服務(wù)器2010-07-07git自定義_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了自定義git的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08使用?Koa?+?TS?+?ESLlint?搭建node服務(wù)器的過(guò)程詳解
這篇文章主要介紹了使用?Koa?+?TS?+?ESLlint?搭建node服務(wù)器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)
這篇文章主要介紹了服務(wù)器負(fù)載均衡是什么意思,服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理,需要的朋友可以參考下2017-08-08便宜vps多是哪些技術(shù)架構(gòu)方式(VPS分割架構(gòu)是怎么超售的)
對(duì)于vps服務(wù)器租用,一些人們可能比較注重vps服務(wù)器價(jià)格,那么,了解和清楚哪一類(lèi)vps服務(wù)器比較便宜是有必要的,這樣我們就有針對(duì)的去選用購(gòu)買(mǎi)自己需要的便宜vps服務(wù)器2015-09-09磁盤(pán)陣列RAID0、RAID1和RAID5的區(qū)別和安全性介紹
本文講解了磁盤(pán)陣列RAID0,RAID1和RAID5的基礎(chǔ)原理及他們之間的區(qū)別,便于你在配置服務(wù)器時(shí)參考2014-05-05RustDesk?Server服務(wù)器搭建教程含api服務(wù)器和webclient服務(wù)器
RustDesk支持安卓?mac?window?iphone?任意兩個(gè)設(shè)備進(jìn)行遠(yuǎn)程控制,不包括api服務(wù)器和webclient客戶(hù)端,本教程教大家RustDesk?Server服務(wù)器搭建教程含api服務(wù)器和webclient服務(wù)器,感興趣的朋友一起看看吧2023-12-12