互聯網高併發解決方案04-CDN內容分發

Web前端優化

  1. 使用網站動靜分離架構
  2. 減少Http請求的傳輸,CSS/JS合併傳輸,壓縮JS、CSS技術
  3. 使用瀏覽器緩存靜態資源,減少服務器端壓力
  4. 使用CDN內容分發,減少寬帶傳輸,獲取用戶Ip,分配到最近的服務器訪問

 

實戰CDN內容分發

DNS域名解析過程

DNS即Domain Name System,是域名解析服務的意思。它在互聯網的作用是:把域名轉換成爲網絡可以識別的ip地址。人們習慣記憶域名,但機器間互相只認IP地址,域名與IP地址之間是一一對應的,它們之間的轉換工作稱爲域名解析,域名解析需要由專門的域名解析服務器來完成,整個過程是自動進行的。比如:上網時輸入的www.baidu.com會自動轉換成爲220.181.112.143。

常見的DNS解析服務商有:阿里雲解析,萬網解析,DNSPod,新網解析,Route53(AWS),Dyn,Cloudflare等。

傳統方式請求靜態資源

 

1.比如訪問頁面請求

http://www.baidu.com/images/upload/image/20180709/1531101991431.png

2.

傳統方式架構弊端:

1.帶寬傳輸壓力大

2.因爲所有用戶全部聚集到同一個地區服務器上訪問,無法保證整體的系統高可用

3.因爲如果客戶端與服務器端傳輸距離越遠,那麼寬帶傳輸非常耗資源,導致用戶體驗非常差,響應慢。

 

 

什麼是CDN

CDN加速意思就是在用戶和我們的服務器之間加一個緩存機制,動態獲取IP地址根據地理位置,讓用戶到最近的服務器訪問。

 

CDN的全稱是Content Delivery Network,即內容分發網絡。

CDN是一組分佈在多個不同地理位置的Web服務器,用於更加有效地向用戶發佈內容,在優化性能時,會根據距離的遠近來選擇。

CDN系統能實時地根據網絡流量和各節點的連接,負載狀況及用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節點上,其目的是使用戶能就近地獲取請求數據,解決網絡擁塞,提高訪問速度,解決由於網絡帶寬小、用戶訪問量大、網點分佈不均等原因導致的訪問速度慢的問題。

由於CDN部署在網絡運營商的機房,這些運營商又是終端用戶網絡的提供商,因此用戶請求的第一跳就到達CDN服務器,當CDN服務器中緩存有用戶請求的數據時,就可以從CDN直接返回給瀏覽器,因此可以提高訪問速度。

CDN能夠緩存JavaScript腳本、CSS樣式表、圖片、圖標、Flash等靜態資源文件(不包括html頁面),這些靜態資源文文件的訪問頻率很高,將其緩存在CDN可以極大地提高網站的訪問速度,但由於CDN是部署在網絡運營商的機房,所以在一般的網站中都很少用CDN加速。

CDN內容分發原理

1) 用戶向瀏覽器提供要訪問的域名;

2) 瀏覽器調用域名解析庫對域名進行解析,由於CDN對域名解析過程進行了調整,所以解析函數庫一般得到的是該域名對應的

CNAME記錄,爲了得到實際IP地址,瀏覽器需要再次對獲得的CNAME域名進行解析以得到實際的IP地址;在此過程中,使用的全局負載均衡DNS解析,如根據地理位置信息解析對應的IP地址,使得用戶能就近訪問;

3) 此次解析得到CDN緩存服務器的IP地址,瀏覽器在得到實際的IP地址以後,向緩存服務器發出訪問請求;

4) 緩存服務器根據瀏覽器提供的要訪問的域名,通過Cache內部專用DNS解析得到此域名的實際IP地址,再由緩存服務器向此實際IP地址提交訪問請求;

5) 緩存服務器從實際IP地址得得到內容以後,一方面在本地進行保存,以備以後使用,二方面把獲取的數據返回給客戶端,完成數據服務過程;

6) 客戶端得到由緩存服務器返回的數據以後顯示出來並完成整個瀏覽的數據請求過程。

 

DNS域名解析

 

DNS即Domain Name System,是域名解析服務的意思。它在互聯網的作用是:把域名轉換成爲網絡可以識別的ip地址。人們習慣記憶域名,但機器間互相只認IP地址,域名與IP地址之間是一一對應的,它們之間的轉換工作稱爲域名解析,域名解析需要由專門的域名解析服務器來完成,整個過程是自動進行的。比如:上網時輸入的www.baidu.com會自動轉換成爲220.181.112.143。

常見的DNS解析服務商有:阿里雲解析,萬網解析,DNSPod,新網解析,Route53(AWS),Dyn,Cloudflare等。

 

發佈了365 篇原創文章 · 獲贊 23 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章