一文了解CDN应用加速
文章目錄
- 前言
- 一、什么是CDN
- 二、CDN與DNS
- DNS的執(zhí)行流程
- DNS與CDN的關(guān)系
- 三、CDN的應(yīng)用場景
前言
隨著網(wǎng)絡(luò)的發(fā)展,產(chǎn)生了很多大型的互聯(lián)網(wǎng)公司,例如阿里、京東、騰訊等,假設(shè)某公司的總部在北京,他們的服務(wù)器部署在了北京,北京的用戶訪問肯定是比較快的,而廣州、海南等地區(qū)訪問存在著一定的延時,甚至達(dá)到延時達(dá)到秒級別,這種情況用戶就不能接受了,怎么提高不同地區(qū)用戶的訪問速度呢?這就是本章講解的內(nèi)容 – CDN應(yīng)用加速。
一、什么是CDN
CDN的全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。其目的是通過在現(xiàn)有的Internet中增加一層新的CACHE(緩存)層,將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)”邊緣“的節(jié)點(diǎn),使用戶可以就近取得所需的內(nèi)容,提高用戶訪問網(wǎng)站的響應(yīng)速度。從技術(shù)上全面解決由于網(wǎng)絡(luò)帶寬小、用戶訪問量大、網(wǎng)點(diǎn)分布不均等原因,提高用戶訪問網(wǎng)站的響應(yīng)速度。
同樣用某公司的網(wǎng)購物流系統(tǒng)舉個例子來說明CDN是干啥的:
假設(shè)某公司只有北京一個物流基地,分別有兩個買家下了訂單,一個買家在石家莊,由于北京和 石家莊的距離很近,當(dāng)天上午訂單發(fā)出晚上就到了石家莊,買家1很滿意;但是另一個買家在蘭州距離比較遠(yuǎn),假設(shè)發(fā)出訂單后第三天還沒收到貨,買家不高興了不買了,退了訂單在線下買了,這讓用戶的體驗性太差了。于是該公司分別在每個城市都建立了物流基地,提前把貨物放到了每個城市的倉庫中,該城市的人購買后直接由最近倉庫發(fā)貨,當(dāng)天到達(dá)手中,用戶覺的很滿意,于是每次都在該公司購物。
CDN中有兩個概念:源站和邊緣服務(wù)器。源站指的是沒有加入CDN之前的服務(wù)器,類似于圖中公司總部,而邊緣服務(wù)器指的是實際提供給用戶的離用戶最近的服務(wù)器,類似于圖中多個倉庫就是CDN的多個邊緣服務(wù)器,邊緣服務(wù)器存放了一些應(yīng)用的靜態(tài)文件等,除此之外的post/put等操作請求還是去源站,類似于我們把貨物放在了不同的倉庫,但是發(fā)起訂單修改訂單等訂單操作和數(shù)據(jù)還是放在了公司總部。
二、CDN與DNS
DNS的執(zhí)行流程
DNS大家應(yīng)該都比較熟悉,域名解析系統(tǒng),正常情況下我們訪問某網(wǎng)站都是輸入的對應(yīng)的網(wǎng)址,因為網(wǎng)址的起名是有特殊意義的名稱比較容易記住,要是讓我們?nèi)ビ涀「鱾€網(wǎng)站的IP那是不可能的,就算電話號都是除了自己的其它的都記不住,更別說跟我們無關(guān)的IP地址了,DNS則負(fù)責(zé)將我們輸入的網(wǎng)址解析成對應(yīng)的IP地址。
正常情況下DNS的執(zhí)行有下面幾步操作:
DNS與CDN的關(guān)系
想要知道DNS和CDN的關(guān)系,需要先知道DNS的記錄類型,我們看一下DNS中的兩種記錄類型:A記錄與CNAME記錄,其它的記錄類型感興趣的可以自行百度去了解。
- A記錄: 通常我們認(rèn)為輸入域名后DNS直接將其解析為了IP地址,這種記錄類型就是A記錄,A記錄是用來指定域名的IP地址的,當(dāng)我們輸入域名后DNS直接引導(dǎo)到了對應(yīng)IP地址的服務(wù)器,但是這樣做是不安全的,直接暴露了服務(wù)器的IP地址容易被攻擊。
- CNAME: CNAME是將域名與另一個域名綁定在了一起,例如有個域名www.aaa.com將其綁定到了www.bbb.com,當(dāng)訪問www.aaa.com的時候DNS將其解析到了www.bbb.com,而這個www.bbb.com就是CDN服務(wù)的域名,但是瀏覽器顯示的還是www.aaa.com。
此時還需要了解兩個概念:SLB(本地負(fù)載均衡系統(tǒng))和GSLB(全局負(fù)載均衡系統(tǒng)),本地負(fù)載均衡系統(tǒng)就是我們常說的服務(wù)負(fù)載均衡系統(tǒng)(例如在機(jī)房兩臺服務(wù)器都部署了相同的應(yīng)用做負(fù)載均衡);而全局負(fù)載均衡系統(tǒng) (全局負(fù)載均衡系統(tǒng)中就有一種是基于CDN實現(xiàn)的) 指的是DNS在域名解析過程中通過用戶本地DNS地址獲取用戶所在位置,將其引導(dǎo)向舉例最近的本地負(fù)載均衡系統(tǒng),簡單的說全局負(fù)載均衡系統(tǒng)是地區(qū)之間的負(fù)載均衡。
如圖,一個海南的用戶通過www.aaa.com訪問某網(wǎng)站,通過DNS的CNAME最終導(dǎo)向了www.bbb.com(CDN服務(wù)器地址),CDN的全局負(fù)載均衡系統(tǒng)通過一些列復(fù)雜的算法發(fā)現(xiàn)用戶在海南,返回就近的本地負(fù)載均衡系統(tǒng)(海南的負(fù)載均衡系統(tǒng)),然后用戶直接去訪問海南的服務(wù)節(jié)點(diǎn),這樣訪問起來比較快。
三、CDN的應(yīng)用場景
一般情況下在以下場景會用到CDN加速:
- 網(wǎng)站的前端項目,現(xiàn)在的項目基本上都是前后端分離的了,前端項目包含了一堆HTML、CSS樣式、JS腳本和網(wǎng)站圖片等文件,這些靜態(tài)文件一般是不會發(fā)生POST修改的,只是GET請求就可以獲取。
- 應(yīng)用商店項目,現(xiàn)在手機(jī)上都會自帶一個應(yīng)用商店,應(yīng)用商店里面有很多應(yīng)用,一般這些應(yīng)用也是不會改變的,而且應(yīng)用比較大,例如王者榮耀好幾個G,直接訪問源站就很慢,所以將這些應(yīng)用通過CDN放在了不同的邊緣服務(wù)器中。
- 視頻網(wǎng)站,現(xiàn)在市場上有很多視頻網(wǎng)站例如B站、抖音等,這些視頻文件也是比較大的,我們看視頻的時候如果直接訪問源站可能就經(jīng)常轉(zhuǎn)圈圈了,所以將其放到了CDN中不同的邊緣服務(wù)器。
總結(jié):用到CDN的時候一般就是一些靜態(tài)不會改變的文件,而且文件比較大(當(dāng)然小文件也可以),當(dāng)用戶直接通過源站訪問由于地域問題網(wǎng)絡(luò)延時導(dǎo)致的請求很慢,此時就可以將這些文件通過CDN分發(fā)到不同的邊緣服務(wù)器。
總結(jié)
以上是生活随笔為你收集整理的一文了解CDN应用加速的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 俄罗斯钓鱼服务器位置,俄罗斯钓鱼4《Ru
- 下一篇: 计算机科学与导论论文样例,计算机科学导论