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