CDN是什么?使用CDN有什么優(yōu)勢?
時間:2023-02-11 12:21:01 | 來源:建站知識
時間:2023-02-11 12:21:01 來源:建站知識
針對本站上有關(guān)CDN熱點問題:什么是CDN?為什么要用?適用哪些場景?常見名詞有哪些?云棲社區(qū)特別邀請到阿里云視頻服務(wù)運營美女:“樰籬”(發(fā)音:xue li),來為大家解讀。
作者簡介:阿里花名樰籬,阿里云視頻服務(wù)產(chǎn)品運營 考慮到對CDN認(rèn)知程度的各層小伙伴,開頭有必要簡單介紹下CDN原理(高年級同學(xué)可以直接跳過一):
一、CDN的基本原理和基礎(chǔ)架構(gòu)
CDN是將源站內(nèi)容分發(fā)至最接近用戶的節(jié)點,使用戶可就近取得所需內(nèi)容,提高用戶訪問的響應(yīng)速度和成功率。解決因分布、帶寬、服務(wù)器性能帶來的訪問延遲問題,適用于站點加速、點播、直播等場景。
(本章節(jié)部分內(nèi)容摘引自:1.2 CDN的基本工作過程 - 51CTO.COM)
最簡單的CDN網(wǎng)絡(luò)由一個DNS服務(wù)器和幾臺緩存服務(wù)器組成:
- 當(dāng)用戶點擊網(wǎng)站頁面上的內(nèi)容URL,經(jīng)過本地DNS系統(tǒng)解析,DNS系統(tǒng)會最終將域名的解析權(quán)交給CNAME指向的CDN專用DNS服務(wù)器。
- CDN的DNS服務(wù)器將CDN的全局負載均衡設(shè)備IP地址返回用戶。
- 用戶向CDN的全局負載均衡設(shè)備發(fā)起內(nèi)容URL訪問請求。
- CDN全局負載均衡設(shè)備根據(jù)用戶IP地址,以及用戶請求的內(nèi)容URL,選擇一臺用戶所屬區(qū)域的區(qū)域負載均衡設(shè)備,告訴用戶向這臺設(shè)備發(fā)起請求。
- 區(qū)域負載均衡設(shè)備會為用戶選擇一臺合適的緩存服務(wù)器提供服務(wù),選擇的依據(jù)包括:根據(jù)用戶IP地址,判斷哪一臺服務(wù)器距用戶最近;根據(jù)用戶所請求的URL中攜帶的內(nèi)容名稱,判斷哪一臺服務(wù)器上有用戶所需內(nèi)容;查詢各個服務(wù)器當(dāng)前的負載情況,判斷哪一臺服務(wù)器尚有服務(wù)能力?;谝陨线@些條件的綜合分析之后,區(qū)域負載均衡設(shè)備會向全局負載均衡設(shè)備返回一臺緩存服務(wù)器的IP地址。
- 全局負載均衡設(shè)備把服務(wù)器的IP地址返回給用戶。
- 用戶向緩存服務(wù)器發(fā)起請求,緩存服務(wù)器響應(yīng)用戶請求,將用戶所需內(nèi)容傳送到用戶終端。如果這臺緩存服務(wù)器上并沒有用戶想要的內(nèi)容,而區(qū)域均衡設(shè)備依然將它分配給了用戶,那么這臺服務(wù)器就要向它的上一級緩存服務(wù)器請求內(nèi)容,直至追溯到網(wǎng)站的源服務(wù)器將內(nèi)容拉到本地。
CDN關(guān)鍵組件
DR模式
雙LVS做Active-Active互備
負載均衡算法采用wrr
阿里基于Nginx開發(fā)的高性能HTTP服務(wù)器,已經(jīng)開源,詳細請了解:The Tengine Web Server
主動健康檢查
SPDY v3支持
高性能Cache
磁盤(SSD/SATA)
CDN基礎(chǔ)架構(gòu) CDN部署架構(gòu) ------------------------------------華麗的分割線------------------------------------
二、為什么要使用CDN?或者說CDN能解決什么問題?
如果你在經(jīng)營一家網(wǎng)站,那你應(yīng)該知道幾點因素是你制勝的關(guān)鍵:
- 內(nèi)容有吸引力
- 訪問速度快
- 支持頻繁的用戶互動
- 可以在各處瀏覽無障礙
另外,你的網(wǎng)站必須能在復(fù)雜的網(wǎng)絡(luò)環(huán)境下運行,考慮到全球的用戶訪問體驗。你的網(wǎng)站也會隨著使用越來越多的對象(如圖片、幀、CSS及APIs)和形形色色的動作(分享、跟蹤)而系統(tǒng)逐漸龐大。所以,系統(tǒng)變慢帶來用戶的流失。
Google及其它網(wǎng)站的研究表明,一個網(wǎng)站每慢一秒鐘,就會丟失許多訪客,甚至這些訪客永遠不會再次光顧這些網(wǎng)站??梢韵胂瘢绻W(wǎng)站是你的盈利渠道或是品牌窗口,那么網(wǎng)站速度慢將是一個致命的打擊。
這就是你使用CDN的第一個也是最重要的原因:**
為了加速網(wǎng)站的訪問**
除此之外,CDN還有一些作用:
1. 為了實現(xiàn)跨運營商、跨地域的全網(wǎng)覆蓋互聯(lián)不互通、區(qū)域ISP地域局限、出口帶寬受限制等種種因素都造成了網(wǎng)站的區(qū)域性無法訪問。CDN加速可以覆蓋全球的線路,通過和運營商合作,部署IDC資源,在全國骨干節(jié)點商,合理部署CDN邊緣分發(fā)存儲節(jié)點,充分利用帶寬資源,平衡源站流量。阿里云在國內(nèi)有500+節(jié)點,海外300+節(jié)點,覆蓋主流國家和地區(qū)不是問題,可以確保CDN服務(wù)的穩(wěn)定和快速。
2. 為了保障你的網(wǎng)站安全CDN的負載均衡和分布式存儲技術(shù),可以加強網(wǎng)站的可靠性,相當(dāng)無無形中給你的網(wǎng)站添加了一把保護傘,應(yīng)對絕大部分的互聯(lián)網(wǎng)攻擊事件。防攻擊系統(tǒng)也能避免網(wǎng)站遭到惡意攻擊。
3. 為了異地備援當(dāng)某個服務(wù)器發(fā)生意外故障時,系統(tǒng)將會調(diào)用其他臨近的健康服務(wù)器節(jié)點進行服務(wù),進而提供接近100%的可靠性,這就讓你的網(wǎng)站可以做到永不宕機。
4. 為了節(jié)約成本投入使用CDN加速可以實現(xiàn)網(wǎng)站的全國鋪設(shè),你根據(jù)不用考慮購買服務(wù)器與后續(xù)的托管運維,服務(wù)器之間鏡像同步,也不用為了管理維護技術(shù)人員而煩惱,節(jié)省了人力、精力和財力。
5. 為了讓你更專注業(yè)務(wù)本身CDN加速廠商一般都會提供一站式服務(wù),業(yè)務(wù)不僅限于CDN,還有配套的云存儲、大數(shù)據(jù)服務(wù)、視頻云服務(wù)等,而且一般會提供7x24運維監(jiān)控支持,保證網(wǎng)絡(luò)隨時暢通,你可以放心使用。并且將更多的精力投入到發(fā)展自身的核心業(yè)務(wù)之上。
------------------------------------華麗的分割線------------------------------------
三、CDN適用哪些場景?
1、網(wǎng)站站點/應(yīng)用加速站點或者應(yīng)用中大量靜態(tài)資源的加速分發(fā),建議將站點內(nèi)容進行動靜分離,動態(tài)文件可以結(jié)合云服務(wù)器ECS,靜態(tài)資源如各類型圖片、html、css、js文件等,建議結(jié)合 對象存儲OSS 存儲海量靜態(tài)資源,可以有效加速內(nèi)容加載速度,輕松搞定網(wǎng)站圖片、短視頻等內(nèi)容分發(fā)
2、視音頻點播/大文件下載分發(fā)加速支持各類文件的下載、分發(fā),支持在線點播加速業(yè)務(wù),如mp4、flv視頻文件或者平均單個文件大小在20M以上,主要的業(yè)務(wù)場景是視音頻點播、大文件下載(如安裝包下載)等,建議搭配對象存儲OSS使用,可提升回源速度,節(jié)約近2/3回源帶寬成本。
3、視頻直播加速(內(nèi)測中)視頻流媒體直播服務(wù),支持媒資存儲、切片轉(zhuǎn)碼、訪問鑒權(quán)、內(nèi)容分發(fā)加速一體化解決方案。結(jié)合彈性伸縮服務(wù),及時調(diào)整服務(wù)器帶寬,應(yīng)對突發(fā)訪問流量;結(jié)合媒體轉(zhuǎn)碼服務(wù),享受高速穩(wěn)定的并行轉(zhuǎn)碼,且任務(wù)規(guī)模無縫擴展。目前CDN直播加速已服務(wù)內(nèi)部用戶測試并優(yōu)化,即將上線,敬請期待
4、移動應(yīng)用加速移動APP更新文件(apk文件)分發(fā),移動APP內(nèi)圖片、頁面、短視頻、UGC等內(nèi)容的優(yōu)化加速分發(fā)。提供httpDNS服務(wù),避免DNS劫持并獲得實時精確的DNS解析結(jié)果,有效縮短用戶訪問時間,提升用戶體驗。
------------------------------------華麗的分割線------------------------------------
四、關(guān)于CDN的一些常見名詞:
1、Origin Server源站做 CDN 之前的客戶真正的服務(wù)器。
2、User訪問者,也就是要訪問網(wǎng)站的網(wǎng)民。
3、Last Mile最后一公里,也就是網(wǎng)民到他所訪問到的 CDN 服務(wù)器之間的路徑。
4、域名域名是Internet網(wǎng)絡(luò)上的一個服務(wù)器或一個網(wǎng)絡(luò)系統(tǒng)的名字,全世界,沒有重復(fù)的域名。
5、CNAME記錄它是一個別名記錄( Canonical Name );當(dāng) DNS 系統(tǒng)在查詢 CNAME 左面的名稱的時候,都會轉(zhuǎn)向 CNAME 右面的名稱再進行查詢,一直追蹤到最后的 PTR 或 A 名稱,成功查詢后才會做出回應(yīng),否則失敗。
6、CNAME域名CDN的域名加速需要用到CNAME記錄,在阿里云控制臺配置完成CDN加速后,您會得到一個加速后的域名,稱之為CNAME域名(該域名一定是*.*
http://kunlun.com), 用戶需要將自己的域名作CNAME指向這個*.*
http://kunlun.com的域名后,域名解析的工作就正式轉(zhuǎn)向阿里云,該域名所有的請求都將轉(zhuǎn)向阿里云CDN的節(jié)點。
7、DNSDNS即Domain Name System,是域名解析服務(wù)的意思。它在互聯(lián)網(wǎng)的作用是:把域名轉(zhuǎn)換成為網(wǎng)絡(luò)可以識別的ip地址。人們習(xí)慣記憶域名,但機器間互相只認(rèn)IP地址,域名與IP地址之間是一一對應(yīng)的,它們之間的轉(zhuǎn)換工作稱為域名解析,域名解析需要由專門的域名解析服務(wù)器來完成,整個過程是自動進行的。
比如:上網(wǎng)時輸入的百度一下,你就知道會自動轉(zhuǎn)換成為220.181.112.143
8、邊緣節(jié)點也稱CDN節(jié)點、Cache節(jié)點等;是相對于網(wǎng)絡(luò)的復(fù)雜結(jié)構(gòu)而提出的一個概念,指距離最終用戶接入具有較少的中間環(huán)節(jié)的網(wǎng)絡(luò)節(jié)點,對最終接入用戶有較好的響應(yīng)能力和連接速度。其作用是將訪問量較大的網(wǎng)頁內(nèi)容和對象保存在服務(wù)器前端的專用cache設(shè)備上,以此來提高網(wǎng)站訪問的速度和質(zhì)量。
9、cachecache高速緩沖存儲器一種特殊的存儲器子系統(tǒng),其中復(fù)制了頻繁使用的數(shù)據(jù)以利于快速訪問。存儲器的高速緩沖存儲器存儲了頻繁訪問的RAM位置的內(nèi)容及這些數(shù)據(jù)項的存儲地址。當(dāng)處理器引用存儲器中的某地址時,高速緩沖存儲器便檢查是否存有該地址。如果存有該地址,則將數(shù)據(jù)返回處理器;如果沒有保存該地址,則進行常規(guī)的存儲器訪問。因為高速緩沖存儲器總是比主RAM存儲器速度快,所以當(dāng)RAM的訪問速度低于微處理器的速度時,常使用高速緩沖存儲器。