CDN加速OSS__存儲空間管理_最佳實踐_對象存儲 OSS-阿裏雲
傳統動靜不分離的產品架構(隨著訪問量在增長,性能會成為瓶頸)
實現動靜分離的產品架構(靈活的架構支持海量的用戶訪問)
適用場景
- 靜態文件訪問量大,服務器負載高,I/O問題導致用戶訪問卡頓。
- 靜態文件數量大,服務器存儲空間不夠。
- 靜態文件用戶訪問量大,且分布在各地。
- 移動更新包在某個時間段需要高速下載,且並發下載量高。
架構描述
OSS作為海量文件存儲源,靜態圖片、視頻文件、下載包、app更新包等均放在OSS上。OSS作為CDN的源站,通過CDN加速分發,用戶通過CDN節點就近獲得文件架構優勢。
- 降低Web服務器負載,靜態文件訪問負載全部通過CDN。
- 存儲費用最低。OSS的存儲費用僅為ECS磁盤費用的50%。
- 海量存儲空間,無需考慮存儲架構升級。
- 流量費用低,相比直接通過OSS訪問,除極少額外增加的回源流量外,主要流量使用CDN流量,單價最低隻需 0.26GB,遠遠低於OSS直接訪問的外網流量單價。
實戰案例
以一個常見的Web站點為例。www.acar.com是一個剛建立汽車資訊車友交流網站。主站用Php搭建,有10GB的圖片素材,部分JS文件。目前購買一台ESC放置所有程序代碼,並在ESC上安裝MySQL數據庫。隨著用戶訪問量的不斷增長,不少用戶反映,訪問網站的速度越來越慢,圖片加載慢,網站響應慢。網站技術人員也發現用戶上傳的圖片越來越多,快超過 1TB了。
利用 OSS 和 CDN 可以對網站進行架構優化,實現上圖提到的動靜分離的產品架構,提升用戶訪問體驗,同時成本也在可控的範圍內。具體的解決方案和步驟如下:
對ECS上的網站程序進行整理,把動態程序部分和靜態部分分不同的目錄管理起來。
- 建立Images目錄,放置所有網站高清素材圖片。
- 建立Javascript目錄,放置所有的JS腳本。
- 建立Attachment目錄,放置所有用戶上傳的圖片和附件。
進行 CDN 加速。
- 進入到 OSS控製台首頁,單擊 CDN加速 。
- 單擊 新建Bucket。
- 根據您的ESC所在的區域選擇 bucket 所在區域,權限選擇 公共讀,bucket 名稱與ESC上新建的目錄的名稱對應,比如 “acar-image-bucket”,單擊 提交 。
- 輸入 image.acar.com 作為您網站高清素材圖片的加速域名,單擊 下一步。
- 選擇默認的自動添加阿裏雲解析,單擊 完成。
上傳文件,體驗加速效果。
單擊 立即上傳文件,體驗加速效果 。
把您在第 1 步中建立在 ESC 上的 Images 目錄下的所有圖片文件上傳到這裏(acar-image-bucket 下)。您可以使用 OSS 客戶端工具更加方便靈活的完成圖片的上傳。
- 單擊列表中已經上傳文件的 獲取地址,您就能獲取到該文件的 CDN 加速的訪問地址,通常為“您輸入的加速域名+’/‘+’文件名’”的格式。
- 逐一完成圖片文件的上傳。
按照前 3 步的示意,把其他兩個文件也通過 CDN加速 的方式上傳,分別建立“acar-js-bucket”和”acar-csimages-bucket”兩個使用CDN加速的OSS bucket。
在原本ESC係統中,找到原本訪問靜態文件的代碼,把訪問URL修改為加速訪問的地址。以後用戶訪問您的網站的靜態文件就全部通過OSS+CDN的方式訪問,不再占用您ESC的資源。
需要注意的是: 如果您想把用戶上傳的文件自動同步到“acar-csimages-bucket”中,您可以參考 OSS 相關 SDK 和 API 的 PutObjcet 部分,實現代碼級別自動上傳。
CDN自動刷新
如果使用了阿裏雲的 CDN 並綁定了加速域名回源到 OSS,可以使用 OSS 的 CDN 緩存自動刷新功能,此功能在覆蓋寫的情況下(包括覆蓋一個已有的文件、刪除一個已有的文件),OSS 會主動刷新 CDN,回源到 OSS 獲取覆蓋後的文件,用戶不需要顯式調用 CDN 的刷新接口。刷新的 URL 規則如下:
加速域名 + / + Object
例如綁定的加速域名是image.acar.com
,如果這個域名綁定的 bucket 覆蓋上傳了一個文件test.jpg
,則 OSS 會刷新掉image.acar.com/test.jpg
這個URL,刷新生效的時間以 CDN 保證的刷新生效時間為準,一般在十分鍾以內。
開通方法:選擇控製台右側 實踐場景 > CDN加速。
最後更新:2016-11-23 16:04:09
上一篇:
服務端簽名直傳並設置上傳回調__Web端直傳實踐_最佳實踐_對象存儲 OSS-阿裏雲
下一篇:
跨域資源共享(CORS)__存儲空間管理_最佳實踐_對象存儲 OSS-阿裏雲
上雲培訓合作夥伴___培訓合作夥伴-阿裏雲
防盜鏈__存儲空間管理_最佳實踐_對象存儲 OSS-阿裏雲
雲服務器 ECS 申請解鎖
SQL Server不停機遷移__數據遷移_用戶指南_數據傳輸-阿裏雲
新建集合__結構管理_DMS for MongoDB_用戶指南(NoSQL)_數據管理-阿裏雲
健康檢查異常___異常排查_負載均衡-阿裏雲
通過 Docker 工具連接集群__快速入門_容器服務-阿裏雲
阿裏雲匯聚暢捷通等合作夥伴開啟智能“大航海時代”!輕公司方能弄潮新經濟!
釋放實例、關閉自動釋放__實例_用戶指南_雲服務器 ECS-阿裏雲
查詢UV數據__資源監控接口_API 手冊_CDN-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲