也許是史上最全的一次CDN詳解

CDN

全稱:Content Delivery Network或Content Ddistribute Network,即內容分發網路

基本思路

儘可能避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。通過在網路各處放置節點伺服器所構成的在現有的互聯網基礎之上的一層智能虛擬網路,CDN系統能夠實時地根據網路流量和各節點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節點上。

目的

解決因分布、帶寬、伺服器性能帶來的訪問延遲問題,適用於站點加速、點播、直播等場景。使用戶可就近取得所需內容,解決 Internet網路擁擠的狀況,提高用戶訪問網站的響應速度和成功率。

控制時延無疑是現代信息科技的重要指標,CDN的意圖就是儘可能的減少資源在轉發、傳輸、鏈路抖動等情況下順利保障信息的連貫性。

優勢:

如果你在經營一家網站,那你應該知道幾點因素是你制勝的關鍵:

  1. 內容有吸引力
  2. 訪問速度快
  3. 支持頻繁的用戶互動
  4. 可以在各處瀏覽無障礙

另外:你的網站必須能在複雜的網路環境下運行,考慮到全球的用戶訪問體驗。你的網站也會隨著使用越來越多的對象(如圖片、幀、CSS及APIs)和形形色色的動作(分享、跟蹤)而系統逐漸龐大。所以,系統變慢帶來用戶的流失。

Google及其它網站的研究表明,一個網站每慢一秒鐘,就會丟失許多訪客,甚至這些訪客永遠不會再次光顧這些網站。可以想像,如果網站是你的盈利渠道或是品牌窗口,那麼網站速度慢將是一個致命的打擊。

這就是你使用CDN的第一個也是最重要的原因:加速網站的訪問

除此之外,CDN還有一些作用:

  • 1. 為了實現跨運營商、跨地域的全網覆蓋

互聯不互通、區域ISP地域局限、出口帶寬受限制等種種因素都造成了網站的區域性無法訪問。CDN加速可以覆蓋全球的線路,通過和運營商合作,部署IDC資源,在全國骨幹節點商,合理部署CDN邊緣分發存儲節點,充分利用帶寬資源,平衡源站流量。

  • 2. 為了保障你的網站安全

CDN的負載均衡和分散式存儲技術,可以加強網站的可靠性,相當無無形中給你的網站添加了一把保護傘,應對絕大部分的互聯網攻擊事件。防攻擊系統也能避免網站遭到惡意攻擊。

  • 3. 為了異地備援

當某個伺服器發生意外故障時,系統將會調用其他臨近的健康伺服器節點進行服務,進而提供接近100%的可靠性,這就讓你的網站可以做到永不宕機。

  • 4. 為了節約成本投入

使用CDN加速可以實現網站的全國鋪設,你根據不用考慮購買伺服器與後續的託管運維,伺服器之間鏡像同步,也不用為了管理維護技術人員而煩惱,節省了人力、精力和財力。

  • 5. 為了讓你更專註業務本身

CDN加速廠商一般都會提供一站式服務,業務不僅限於CDN,還有配套的雲存儲、大數據服務、視頻雲服務等,而且一般會提供7x24運維監控支持,保證網路隨時暢通,你可以放心使用。並且將更多的精力投入到發展自身的核心業務之上。

引入一個詞:控制時延

無疑是現代信息科技的重要指標,CDN的意圖就是儘可能的減少資源在轉發、傳輸、鏈路抖動等情況下順利保障信息的連貫性

根據論文《WAITING TIMES IN QUALITY OF EXPERIENCE FOR WEB BASED SERVICES》中提出的: 其指出基於人腦在等待不同時長的信息時,產生的不同意識行為,進而對信息獲取產生的差別感官體驗。

感知的持續時間 VS 客觀持續時間

根據研究發現:當人們獲得Voice這類聲音訊息時,好感度隨時間流逝下降的最為迅速,僅需16分鐘「評估意見等級」下降了70%,可見音像資源受緩衝時間的影響可見一斑

?0.1 s: 用戶幾乎感覺不到系統是否不連貫性。

?1.0 s: 用戶明顯注意到時延的發生,但是在該時間內思維依然是連貫的。

?10 s: 超過該時間的時延會使用戶失去等待意願。 控制時延無疑是現代信息科技的重要指標,CDN的意圖就是儘可能的減少資源在轉發、傳輸、鏈路抖動等情況下順利保障信息的連貫性。

通俗點說就是在網速一定的前提下,CDN就像網路中快遞員小哥

  • 而且CDN這個快遞員很是聰明 TA不是在用蠻力瞎跑、亂撞
  • TA還承建了很多家快遞點,就近快遞(緩存)
  • TA善於優化快遞路徑(調度) 還會對包裹進行更合理的重新打包(協議優化)

無論用戶在世界任何角落,只要連接網路,CDN服務就如同把源站搬到用戶面前一樣,整個世界,觸手可及!

CDN就是扮演者護航者和加速者的角色,更快准狠的觸發信息和觸達每一個用戶,帶來更為極致的使用體驗。

基礎架構:最簡單的CDN網路由一個DNS伺服器和幾台緩存伺服器組成:

  1. 當用戶點擊網站頁面上的內容URL,經過本地DNS系統解析,DNS系統會最終將域名的解析權交給CNAME指向的CDN專用DNS伺服器。
  2. CDN的DNS伺服器將CDN的全局負載均衡設備IP地址返回用戶。
  3. 用戶向CDN的全局負載均衡設備發起內容URL訪問請求。
  4. CDN全局負載均衡設備根據用戶IP地址,以及用戶請求的內容URL,選擇一台用戶所屬區域的區域負載均衡設備,告訴用戶向這台設備發起請求。
  5. 區域負載均衡設備會為用戶選擇一台合適的緩存伺服器提供服務,選擇的依據包括:根據用戶IP地址,判斷哪一台伺服器距用戶最近;根據用戶所請求的URL中攜帶的內容名稱,判斷哪一台伺服器上有用戶所需內容;查詢各個伺服器當前的負載情況,判斷哪一台伺服器尚有服務能力。基於以上這些條件的綜合分析之後,區域負載均衡設備會向全局負載均衡設備返回一台緩存伺服器的IP地址。
  6. 全局負載均衡設備把伺服器的IP地址返回給用戶。
  7. 用戶向緩存伺服器發起請求,緩存伺服器響應用戶請求,將用戶所需內容傳送到用戶終端。如果這台緩存伺服器上並沒有用戶想要的內容,而區域均衡設備依然將它分配給了用戶,那麼這台伺服器就要向它的上一級緩存伺服器請求內容,直至追溯到網站的源伺服器將內容拉到本地。

服務模式:

簡單地說,CDN是一個經策略性部署的整體系統,包括分散式存儲、負載均衡、網路請求的重定向和內容管理4個要件,而內容管理和全局的網路流量管理(Traffic Management)是CDN的核心所在。

通過用戶就近性和伺服器負載的判斷,CDN確保內容以一種極為高效的方式為用戶的請求提供服務。

舉例說明:

國內訪問量較高的網站、直播、視頻平台,均使用CDN網路加速技術,雖然網站的訪問巨大,但無論在什麼地方訪問都會感覺速度很快。而一般的網站如果伺服器在網通,電信用戶訪問很慢,如果伺服器在電信,網通用戶訪問又很慢。

通過在現有的Internet中增加一層新的網路架構,將網站的內容發布到最接近用戶的cache伺服器內,通過DNS負載均衡的技術,判斷用戶來源就近訪問cache伺服器取得所需的內容,解決Internet網路擁塞狀況,提高用戶訪問網站的響應速度,如同提供了多個分布在各地的加速器,以達到快速、可冗餘的為多個網站加速的目的。

CDN服務最初用於確保快速可靠地分發靜態內容,這些內容可以緩存,最適合在網速龐大的網路中存儲和分發,該網路在幾十多個國家的十幾個網路中的覆蓋CDN網路伺服器。由於動態內容必須通過互聯網來傳輸,因此要提供快速的網路體驗。如今的CDN可謂是大文件、小文件、點播、直播、動靜皆宜!

主要特點:

1、本地Cache加速,提高了企業站點(尤其含有大量圖片和靜態頁面站點)的訪問速度,並大大提高以上性質站點的穩定性

2、鏡像服務消除了不同運營商之間互聯的瓶頸造成的影響,實現了跨運營商的網路加速,保證不同網路中的用戶都能得到良好的訪問質量。

3、遠程加速 遠程訪問用戶根據DNS負載均衡技術 智能自動選擇Cache伺服器,選擇最快的Cache伺服器,加快遠程訪問的速度

4、帶寬優化 自動生成伺服器的遠程Mirror(鏡像)cache伺服器,遠程用戶訪問時從cache伺服器上讀取數據,減少遠程訪問的帶寬、分擔網路流量、減輕原站點WEB伺服器負載等功能。

5、集群抗攻擊 廣泛分布的CDN節點加上節點之間的智能冗餘機制,可以有效地預防黑客入侵以及降低各種D.D.o.S攻擊對網站的影響,同時保證較好的服務質量 。

關鍵技術:

內容發布:它藉助於建立索引、緩存、流分裂、組播(Multicast)等技術

內容路由:它是整體性的網路負載均衡技術,通過內容路由器中的重定向(DNS)機制,在多個遠程POP上均衡用戶的請求,以使用戶請求得到最近內容源的響應;

內容交換:它根據內容的可用性、伺服器的可用性以及用戶的背景,在POP的緩存伺服器上,利用應用層交換、流分裂、重定向(ICP、WCCP)等技術,智能地平衡負載流量;

性能管理:它通過內部和外部監控系統,獲取網路部件的狀況信息,測量內容發布的端到端性能(如包丟失、延時、平均帶寬、啟動時間、幀速率等),保證網路處於最佳的運行狀態。

適用範圍:

一般來說以資訊、內容等為主的網站,具有一定訪問體量的網站

例如資訊網站、政府機構網站、行業平台網站、商城等以動態內容為主的網站

例如論壇、博客、交友、SNS、網路遊戲、搜索/查詢、金融等。提供http下載的網站

例如軟體開發商、內容服務提供商、網路遊戲運行商、源碼下載等有大量流媒體點播應用的網站

例如:擁有視頻點播平台的電信運營商、內容服務提供商、體育頻道、寬頻頻道、在線教育、視頻博客等

Q & A

1.CDN加速是對網站所在伺服器加速,還是對其域名加速?

CDN是只對網站的某一個具體的域名加速。如果同一個網站有多個域名,則訪客訪問加入CDN的域名獲得加速效果,訪問未加入CDN的域名,或者直接訪問IP地址,則無法獲得CDN效果。

2.CDN和鏡像站點比較有何優勢?  

CDN對網站的訪客完全透明,不需要訪客手動選擇要訪問的鏡像站點,保證了網站對訪客的友好性。  

CDN對每個節點都有可用性檢查,不合格的節點會第一時間剔出,從而保證了極高的可用率,而鏡像站點無法實現這一點。  

CDN部署簡單,對原站基本不做任何改動即可生效。

3.CDN和雙線機房相比有何優勢?

常見的雙線機房只能解決網通和電信互相訪問慢的問題,其它ISP(譬如教育網,移動網,鐵通)互通的問題還是沒得到解決。  

而CDN是訪問者就近取數據,而CDN的節點遍布各ISP,從而保證了網站到任意ISP的訪問速度。另外CDN因為其流量分流到各節點的原理,天然獲得抵抗網路攻擊的能力。

4.CDN使用後,原來的網站是否需要做修改,做什麼修改?

一般而言,網站無需任何修改即可使用CDN獲得加速效果。只是對需要判斷訪客IP程序,才需要做少量修改。

5.為什麼我的網站更新後,通過CDN後看到網頁還是舊網頁,如何解決?  

由於CDN採用各節點緩存的機制,網站的靜態網頁和圖片修改後,如果CDN緩存沒有做相應更新,則看到的還是舊的網頁。

為了解決這個問題,CDN管理面板中提供了URL推送服務,來通知CDN各節點刷新自己的緩存。  

在URL推送地址欄中,輸入具體的網址或者圖片地址,則各節點中的緩存內容即被統一刪除,並且當即生效。  

如果需要推送的網址和圖片太多,可以選擇目錄推送,輸入 kkk.com/news 即可以對網站下news目錄下所有網頁和圖片進行了刷新。

6.能不能讓CDN不緩存某些即時性要求很高的網頁和圖片?

只需要使用動態頁面,asp,php,jsp等動態技術做成的頁面不被CDN緩存,無需每次都要刷新。或者採用一個網站兩個域名,一個啟用CDN,另外一個域名不用CDN,對即時性要求高的頁面和圖片放在不用CDN的域名下。

7.網站新增了不少網頁和圖片,這些需要使用URL推送嗎?  

後來增加的網頁和圖片,不需要使用URL推送,因為它們本來就不存在緩存中。

8.網站用CDN後,有些地區反映無法訪問了,怎麼辦?

CDN啟用後,訪客不能訪問網站有很多種可能,可能是CDN的問題,也可能是源站點出現故障或者源站點被關閉,還可能是訪客自己所在的網路出現問題,甚至我們實際故障排除中,還出現過客戶自己計算機中毒,導致無法訪問網站。  

客戶報告故障時,可隨時聯繫我們24小時技術部進行處理。

9.哪些情況不適用於CDN?

備註:此類極端狀況不建議您使用CDN服務


推薦閱讀:

網宿科技:靠海外與雲業務能否「救市」?
從事伺服器裝機是什麼體驗,對以後的linux運維又會有怎麼樣的幫助,謝謝!?
視界雲推「VDN-Live」產品服務, 聚焦直播平台痛點問題

TAG:视界云 | CDN | 网络加速服务 |