閱讀103 返回首頁    go 小米 go 小米6


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 可以對網站進行架構優化,實現上圖提到的動靜分離的產品架構,提升用戶訪問體驗,同時成本也在可控的範圍內。具體的解決方案和步驟如下:

  1. 對ECS上的網站程序進行整理,把動態程序部分和靜態部分分不同的目錄管理起來。

    • 建立Images目錄,放置所有網站高清素材圖片。
    • 建立Javascript目錄,放置所有的JS腳本。
    • 建立Attachment目錄,放置所有用戶上傳的圖片和附件。
  2. 進行 CDN 加速。

    1. 進入到 OSS控製台首頁,單擊 CDN加速
    2. 單擊 新建Bucket
    3. 根據您的ESC所在的區域選擇 bucket 所在區域,權限選擇 公共讀,bucket 名稱與ESC上新建的目錄的名稱對應,比如 “acar-image-bucket”,單擊 提交
    4. 輸入 image.acar.com 作為您網站高清素材圖片的加速域名,單擊 下一步
    5. 選擇默認的自動添加阿裏雲解析,單擊 完成
  3. 上傳文件,體驗加速效果。

    1. 單擊 立即上傳文件,體驗加速效果

    2. 把您在第 1 步中建立在 ESC 上的 Images 目錄下的所有圖片文件上傳到這裏(acar-image-bucket 下)。您可以使用 OSS 客戶端工具更加方便靈活的完成圖片的上傳。

    3. 單擊列表中已經上傳文件的 獲取地址,您就能獲取到該文件的 CDN 加速的訪問地址,通常為“您輸入的加速域名+’/‘+’文件名’”的格式。
    4. 逐一完成圖片文件的上傳。
  4. 按照前 3 步的示意,把其他兩個文件也通過 CDN加速 的方式上傳,分別建立“acar-js-bucket”和”acar-csimages-bucket”兩個使用CDN加速的OSS bucket。

  5. 在原本ESC係統中,找到原本訪問靜態文件的代碼,把訪問URL修改為加速訪問的地址。以後用戶訪問您的網站的靜態文件就全部通過OSS+CDN的方式訪問,不再占用您ESC的資源。

需要注意的是: 如果您想把用戶上傳的文件自動同步到“acar-csimages-bucket”中,您可以參考 OSS 相關 SDK 和 API 的 PutObjcet 部分,實現代碼級別自動上傳。

CDN自動刷新

如果使用了阿裏雲的 CDN 並綁定了加速域名回源到 OSS,可以使用 OSS 的 CDN 緩存自動刷新功能,此功能在覆蓋寫的情況下(包括覆蓋一個已有的文件、刪除一個已有的文件),OSS 會主動刷新 CDN,回源到 OSS 獲取覆蓋後的文件,用戶不需要顯式調用 CDN 的刷新接口。刷新的 URL 規則如下:

  1. 加速域名 + / + Object

例如綁定的加速域名是image.acar.com,如果這個域名綁定的 bucket 覆蓋上傳了一個文件test.jpg,則 OSS 會刷新掉image.acar.com/test.jpg這個URL,刷新生效的時間以 CDN 保證的刷新生效時間為準,一般在十分鍾以內。

開通方法:選擇控製台右側 實踐場景 > CDN加速

最後更新:2016-11-23 16:04:09

  上一篇:go 服務端簽名直傳並設置上傳回調__Web端直傳實踐_最佳實踐_對象存儲 OSS-阿裏雲
  下一篇:go 跨域資源共享(CORS)__存儲空間管理_最佳實踐_對象存儲 OSS-阿裏雲