最佳實踐:使用阿里雲CDN加速OSS訪問

jackson_wang發表於2020-08-18

阿里雲內容分發網路(Content Delivery Network,簡稱CDN)是建立並覆蓋在承載網之上,由分佈在不同區域的邊緣節點伺服器群組成的分散式網路。阿里雲CDN分擔源站壓力,避免網路擁塞,確保在不同區域、不同場景下加速網站內容的分發,提高資源訪問速度。阿里雲CDN將源站資源快取至阿里雲遍佈全球的加速節點上,當終端使用者請求訪問和獲取該資源時,無需回源,系統自動呼叫離終端使用者最近的CDN節點上已快取的資源。

阿里雲物件儲存(Object Storage Service,簡稱OSS)是阿里雲提供的海量、安全、低成本、高可靠的雲端儲存服務,其資料設計永續性不低於99.9999999999%(12個9),服務可用性(或業務連續性)不低於99.995%。企業客戶透過阿里雲提供的API、SDK介面或者OSS遷移工具輕鬆地將海量資料移入或移出阿里雲OSS,同時可選擇標準儲存(Standard)作為移動應用、大型網站、圖片分享或熱點音影片的主要儲存方式,也可以選擇成本更低、儲存期限更長的低頻訪問儲存(Infrequent Access)、歸檔儲存(Archive)作為不經常訪問資料的儲存方式。

為什麼要使用CDN+OSS架構?

傳統網站架構下,動態資源和靜態資源不分離,隨著訪問量的增長,效能會成為瓶頸,如下圖所示:

image.png

使用者直接訪問OSS資源,訪問速度會受到OSS的下行頻寬以及Bucket地域的限制。如果透過CDN來訪問OSS資源,頻寬上限更高,並且可以將OSS的資源快取至就近的CDN節點,透過CDN節點進行分發,訪問速度更快,且費用更低。如果採用動靜分離的網站架構,就能夠解決海量使用者訪問的效能瓶頸問題,如下圖所示:
image.png

該架構的要點如下:

將動態資源如Web程式、資料庫等存放在雲伺服器ECS上。
將靜態資源如圖片、音影片、靜態指令碼等存放在物件儲存OSS上。
將OSS作為CDN的源站,透過CDN加速分發,使使用者透過CDN節點就近獲得檔案。

CDN+OSS架構有什麼優勢?

降低了Web伺服器負載——OSS的資源快取至就近的CDN節點,透過CDN節點進行分發,縮短了網路傳輸距離,加快了使用者的呼叫速度。
支援海量儲存——OSS的儲存空間彈性無限擴充套件,您無需考慮儲存架構升級。
降低了儲存費用和流量費用——使用該架構會產生OSS的儲存費用、CDN的下行流量費用,以及極少量的回源流量費用。

CDN+OSS的應用場景

線上教育

image.png

播放流暢無卡頓:支撐高峰期海量併發,穩定高效的效能:95%+命中率,毫秒級響應時間
圖片/影片處理:OSS豐富的圖片處理與媒體處理的能力,可以幫助客戶降低開發成本。OSS支援線上教育客戶直接透過RTMP影片推流方式將影片流推到OSS,無需額外的檔案型別轉換工具。
安全性:解決盜鏈危害,保障課程安全
成本最佳化:阿里雲CDN回源OSS按照“回源流量”收費,較常規的下行流量費最高便宜70%。

網站/APP/小程式

image.png

訪問效率提升:CDN透過全球2800+節點及智慧排程系統,讓使用者可以就近訪問海量靜態資源。
無縫遷移:提供無縫遷移工具讓業務快速上雲,從而免除了高昂的遷移成本和接入成本
豐富圖片處理能力:OSS提供圖片裁剪、旋轉、水印、影片截幀等,客戶無需額外的開發成本。
成本降低:下行流量費用遠低於享頻寬費用,有效解決源站頻寬壓力

行業音影片

image.png

CDN保證效能:95%+命中率,毫秒級響應時間,結合彈性伸縮服務,及時調整伺服器頻寬,應對突發訪問流量
OSS可靠性:強大的技術保障提供11個9的資料寫入可靠性保障,與阿里雲CDN和影片轉碼無縫結合
降本增效:下行流量費用遠低於獨享頻寬費用,有效解決源站頻寬壓力

遊戲/APP下載

image.png

穩定高效:支援各類檔案的下載、分發及線上點播加速業務(如MP4、FLV 影片或者平均單個檔案大小在20M以上檔案),主要用於視音訊點播、大檔案下載時
成本降低:搭配OSS接入CDN加速,節約近2/3回源頻寬成本
一鍵加速:針對儲存在OSS上的遊戲的動態業務加速,使用OSS傳輸加速功能,只需修改OSS域名,即可一鍵加速

如何進一步提升網站加速效率?

阿里雲還推出全站加速DCDN產品,融合了動態加速和靜態加速的CDN產品,可以一站式應對頁面動靜態資源混雜、跨運營商、網路不穩定、單線源站、突發流量、網路擁塞等一系列因素,最佳化和解決訪問響應慢、丟包、服務不穩定等問題,從而提升整個網站應用的效能和使用者體驗。

全站加速的核心原理主要分了兩大塊,一個是節點層,一個是一個控制層,節點層可以類比在SDWAN中的資料面,而路由決策則是控制面,其中整個傳輸網路的建立是透過探測和路由計算來完成的。邊緣節點則保證了使用者最後一公里用可以最快速的接入,最佳化建聯和握手的時間。

當請求進入網路中之後,邊緣節點跟內部的整張大網、源站之間,透過探測去實時的發現整個網路當中最優的鏈路,基於這個探測資料結果,透過路由演算法和基礎資料的分析和決策,最終會在整個網路裡面去高效迭代出最優的傳輸鏈路,當鏈路遭遇流量匯聚的情況,鏈路選擇也會實現流量和質量等多重因素之下的平衡。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490631/viewspace-2712617/,如需轉載,請註明出處,否則將追究法律責任。

相關文章