CDN
使用第三方OSS服務的好處是內建了CDN服務,下面來了解一下什麼是CDN。
全稱:Content Delivery Network或Content Distribute Network,即内容分發網絡
是将源站内容分發至最接近使用者的節點,使使用者可就近取得所需内容,提高使用者通路的響應速度和成功率。解決因分布、帶寬、伺服器性能帶來的通路延遲問題,适用于站點加速、點播、直播等場景。
基本思路
盡可能避開網際網路上有可能影響資料傳輸速度和穩定性的瓶頸和環節,使内容傳輸的更快、更穩定。通過在網絡各處放置節點伺服器所構成的在現有的網際網路基礎之上的一層智能虛拟網絡,CDN系統能夠實時地根據網絡流量和各節點的連接配接、負載狀況以及到使用者的距離和響應時間等綜合資訊将使用者的請求重新導向離使用者最近的服務節點上。
目的
解決因分布、帶寬、伺服器性能帶來的通路延遲問題,适用于站點加速、點播、直播等場景。使使用者可就近取得所需内容,解決 Internet網絡擁擠的狀況,提高使用者通路網站的響應速度和成功率。
控制時延無疑是現代資訊科技的重要名額,CDN的意圖就是盡可能的減少資源在轉發、傳輸、鍊路抖動等情況下順利保障資訊的連貫性。
CDN就是扮演者護航者和加速者的角色,更快準狠的觸發資訊和觸達每一個使用者,帶來更為極緻的使用體驗。
基本原理

最簡單的CDN網絡由一個DNS伺服器和幾台緩存伺服器組成:
- 當使用者點選網站頁面上的内容URL,經過本地DNS系統解析,DNS系統會最終将域名的解析權交給CNAME指向的CDN專用DNS伺服器。
- CDN的DNS伺服器将CDN的全局負載均衡裝置IP位址傳回使用者。
- 使用者向CDN的全局負載均衡裝置發起内容URL通路請求。
- CDN全局負載均衡裝置根據使用者IP位址,以及使用者請求的内容URL,選擇一台使用者所屬區域的區域負載均衡裝置,告訴使用者向這台裝置發起請求。
- 區域負載均衡裝置會為使用者選擇一台合适的緩存伺服器提供服務,選擇的依據包括:根據使用者IP位址,判斷哪一台伺服器距使用者最近;根據使用者所請求的URL中攜帶的内容名稱,判斷哪一台伺服器上有使用者所需内容;查詢各個伺服器目前的負載情況,判斷哪一台伺服器尚有服務能力。基于以上這些條件的綜合分析之後,區域負載均衡裝置會向全局負載均衡裝置傳回一台緩存伺服器的IP位址。
- 全局負載均衡裝置把伺服器的IP位址傳回給使用者。
- 使用者向緩存伺服器發起請求,緩存伺服器響應使用者請求,将使用者所需内容傳送到使用者終端。如果這台緩存伺服器上并沒有使用者想要的内容,而區域均衡裝置依然将它配置設定給了使用者,那麼這台伺服器就要向它的上一級緩存伺服器請求内容,直至追溯到網站的源伺服器将内容拉到本地。
常見問題
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推送位址欄中,輸入具體的網址或者圖檔位址,則各節點中的緩存内容即被統一删除,并且當即生效。如果需要推送的網址和圖檔太多,可以選擇目錄推送,輸入 http://www.kkk.com/news 即可以對網站下news目錄下所有網頁和圖檔進行了重新整理。
6.能不能讓CDN不緩存某些即時性要求很高的網頁和圖檔?
隻需要使用動态頁面,asp,php,jsp等動态技術做成的頁面不被CDN緩存,無需每次都要重新整理。或者采用一個網站兩個域名,一個啟用CDN,另外一個域名不用CDN,對即時性要求高的頁面和圖檔放在不用CDN的域名下。
7.網站新增了不少網頁和圖檔,這些需要使用URL推送嗎?
後來增加的網頁和圖檔,不需要使用URL推送,因為它們本來就不存在緩存中。
8.網站用CDN後,有些地區反映無法通路了,怎麼辦?
CDN啟用後,訪客不能通路網站有很多種可能,可能是CDN的問題,也可能是源站點出現故障或者源站點被關閉,還可能是訪客自己所在的網絡出現問題,甚至我們實際故障排除中,還出現過客戶自己計算機中毒,導緻無法通路網站。客戶報告故障時,可随時聯系我們24小時技術部進行處理。
9.哪些情況推薦使用CDN?
一般來說以資訊、内容等為主的網站,具有一定通路體量的網站 資訊網站、政府機構網站、行業平台網站、商城等以動态内容為主的網站 論壇、部落格、交友、SNS、網絡遊戲、搜尋/查詢、金融等。提供http下載下傳的網站 軟體開發商、内容服務提供商、網絡遊戲運作商、源碼下載下傳等有大量流媒體點播應用的網站 擁有視訊點播平台的電信營運商、内容服務提供商、體育頻道、寬頻頻道、線上教育、視訊部落格等
多思考也是一種努力,做出正确的分析和選擇,因為我們的時間和精力都有限,是以把時間花在更有價值的地方。