簡述CDN 什麼是CDN 爲何要用CDN CDN適用場景

考慮到對CDN認知程度的各層小夥伴,開頭有必要簡單介紹下CDN原理(高年級同窗能夠直接跳過):css

1、CDN的基本原理和基礎架構

CDN是將源站內容分發至最接近用戶的節點,使用戶可就近取得所需內容,提升用戶訪問的響應速度和成功率。解決因分佈、帶寬、服務器性能帶來的訪問延遲問題,適用於站點加速、點播、直播等場景。
(本章節部份內容摘引自:1.2 [CDN的基本工做過程][1] - 51CTO.COM
最簡單的CDN網絡由一個DNS服務器和幾臺緩存服務器組成:html

  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. 用戶向緩存服務器發起請求,緩存服務器響應用戶請求,將用戶所需內容傳送到用戶終端。若是這臺緩存服務器上並無用戶想要的內容,而區域均衡設備依然將它分配給了用戶,那麼這臺服務器就要向它的上一級緩存服務器請求內容,直至追溯到網站的源服務器將內容拉到本地。

v2-7d4409a2d13943df2ca9c15defaec8c6_hd.jpg

CDN關鍵組件

  • LVS作四層均衡負載

    DR模式
    雙LVS作Active-Active互備
    負載均衡算法採用wrr前端

  • Tengine作七層負載均衡

    阿里基於Nginx開發的高性能HTTP服務器,已經開源,詳細請了解:The Tengine Web Server
    主動健康檢查
    SPDY v3支持算法

  • Swift作HTTP緩存

    高性能Cache
    磁盤(SSD/SATA)緩存

CDN基礎架構
v2-b41cf4ec53559c2fb15010932ccb4e41_hd.jpg
CDN部署架構安全

v2-6326f058d381ac9da88ac519012d8822_hd.jpg

2、爲何要使用CDN?或者說CDN能解決什麼問題?

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

  • 內容有吸引力
  • 訪問速度快
  • 支持頻繁的用戶互動
  • 能夠在各處瀏覽無障礙

另外,你的網站必須能在複雜的網絡環境下運行,考慮到全球的用戶訪問體驗。你的網站也會隨着使用愈來愈多的對象(如圖片、幀、CSS及APIs)和形形色色的動做(分享、跟蹤)而系統逐漸龐大。因此,系統變慢帶來用戶的流失。
Google及其它網站的研究代表,一個網站每慢一秒鐘,就會丟失許多訪客,甚至這些訪客永遠不會再次光顧這些網站。能夠想像,若是網站是你的盈利渠道或是品牌窗口,那麼網站速度慢將是一個致命的打擊。
這就是你使用CDN的第一個也是最重要的緣由:爲了加速網站的訪問
除此以外,CDN還有一些做用:網絡

1. 爲了實現跨運營商、跨地域的全網覆蓋
互聯不互通、區域ISP地域侷限、出口帶寬受限制等種種因素都形成了網站的區域性沒法訪問。CDN加速能夠覆蓋全球的線路,經過和運營商合做,部署IDC資源,在全國骨幹節點商,合理部署CDN邊緣分發存儲節點,充分利用帶寬資源,平衡源站流量。阿里雲在國內有500+節點,海外300+節點,覆蓋主流國家和地區不是問題,能夠確保CDN服務的穩定和快速。
2. 爲了保障你的網站安全
CDN的負載均衡和分佈式存儲技術,能夠增強網站的可靠性,至關無無形中給你的網站添加了一把保護傘,應對絕大部分的互聯網攻擊事件。防攻擊系統也能避免網站遭到惡意攻擊。
3. 爲了異地備援
當某個服務器發生意外故障時,系統將會調用其餘臨近的健康服務器節點進行服務,進而提供接近100%的可靠性,這就讓你的網站能夠作到永不宕機。
4. 爲了節約成本
投入使用CDN加速能夠實現網站的全國鋪設,你根據不用考慮購買服務器與後續的託管運維,服務器之間鏡像同步,也不用爲了管理維護技術人員而煩惱,節省了人力、精力和財力。
5. 爲了讓你更專一業務自己
CDN加速廠商通常都會提供一站式服務,業務不只限於CDN,還有配套的雲存儲、大數據服務、視頻雲服務等,並且通常會提供7x24運維監控支持,保證網絡隨時暢通,你能夠放心使用。而且將更多的精力投入到發展自身的核心業務之上。架構


3、CDN適用哪些場景?

一、網站站點/應用加速
站點或者應用中大量靜態資源的加速分發,建議將站點內容進行動靜分離,動態文件能夠結合雲服務器ECS,靜態資源如各種型圖片、html、css、js文件等,建議結合 對象存儲OSS 存儲海量靜態資源,能夠有效加速內容加載速度,輕鬆搞定網站圖片、短視頻等內容分發負載均衡

  • 架構示意圖

v2-69de8db0b2538c59753bc6d39d66a4fd_hd.jpg
二、視音頻點播/大文件下載分發加速
支持各種文件的下載、分發,支持在線點播加速業務,如mp四、flv視頻文件或者平均單個文件大小在20M以上,主要的業務場景是視音頻點播、大文件下載(如安裝包下載)等,建議搭配對象存儲OSS使用,可提高回源速度,節約近2/3回源帶寬成本。

  • 架構示意圖

v2-04a9d1772997e9379764c556cbcd3644_hd.jpg
三、視頻直播加速(內測中)
視頻流媒體直播服務,支持媒資存儲、切片轉碼、訪問鑑權、內容分發加速一體化解決方案。結合彈性伸縮服務,及時調整服務器帶寬,應對突發訪問流量;結合媒體轉碼服務,享受高速穩定的並行轉碼,且任務規模無縫擴展。目前CDN直播加速已服務內部用戶測試並優化,即將上線,敬請期待

  • 架構示意圖

v2-458ed049f2c1d69786db11e309c1b602_hd.jpg
四、移動應用加速移動
APP更新文件(apk文件)分發,移動APP內圖片、頁面、短視頻、UGC等內容的優化加速分發。提供httpDNS服務,避免DNS劫持並得到實時精確的DNS解析結果,有效縮短用戶訪問時間,提高用戶體驗。

  • 架構示意圖

v2-7d5ec64dc3bae413f384ae81852ce7a5_hd.jpg

4、關於CDN的一些常見名詞:

一、Origin Server源站
作 CDN 以前的客戶真正的服務器。
二、User
訪問者,也就是要訪問網站的網民。
三、Last Mile
最後一千米,也就是網民到他所訪問到的 CDN 服務器之間的路徑。
四、域名
域名是Internet網絡上的一個服務器或一個網絡系統的名字,全世界,沒有重複的域名。五、CNAME記錄
它是一個別名記錄( Canonical Name );當 DNS 系統在查詢 CNAME 左面的名稱的時候,都會轉向 CNAME 右面的名稱再進行查詢,一直追蹤到最後的 PTR 或 A 名稱,成功查詢後纔會作出迴應,不然失敗。
六、CNAME域名
CDN的域名加速須要用到CNAME記錄,在阿里雲控制檯配置完成CDN加速後,您會獲得一個加速後的域名,稱之爲CNAME域名(該域名必定是.http://kunlun.com), 用戶須要將本身的域名做CNAME指向這個.http://kunlun.com的域名後,域名解析的工做就正式轉向阿里雲,該域名全部的請求都將轉向阿里雲CDN的節點。
七、DNS
DNS即Domain Name System,是域名解析服務的意思。它在互聯網的做用是:把域名轉換成爲網絡能夠識別的ip地址。人們習慣記憶域名,但機器間互相只認IP地址,域名與IP地址之間是一一對應的,它們之間的轉換工做稱爲域名解析,域名解析須要由專門的域名解析服務器來完成,整個過程是自動進行的。好比:上網時輸入的百度一下,你就知道會自動轉換成爲220.181.112.143
八、邊緣節點
也稱CDN節點、Cache節點等;是相對於網絡的複雜結構而提出的一個概念,指距離最終用戶接入具備較少的中間環節的網絡節點,對最終接入用戶有較好的響應能力和鏈接速度。其做用是將訪問量較大的網頁內容和對象保存在服務器前端的專用cache設備上,以此來提升網站訪問的速度和質量。
九、cache cache高速緩衝存儲器一種特殊的存儲器子系統,其中複製了頻繁使用的數據以利於快速訪問。存儲器的高速緩衝存儲器存儲了頻繁訪問的RAM位置的內容及這些數據項的存儲地址。當處理器引用存儲器中的某地址時,高速緩衝存儲器便檢查是否存有該地址。若是存有該地址,則將數據返回處理器;若是沒有保存該地址,則進行常規的存儲器訪問。由於高速緩衝存儲器老是比主RAM存儲器速度快,因此當RAM的訪問速度低於微處理器的速度時,常使用高速緩衝存儲器。

相關文章
相關標籤/搜索