乾貨 | CDN搭配OSS最佳實踐 ——搭建動靜態分離的應用架構

 

 

1、傳統架構及痛點

傳統的網站產品應用架構,全部資源部署在應用服務器本地存儲或掛載的數據存儲區,對於動靜態資源不做分離, 產品架構以下圖所示:web

該架構存在諸多問題:安全

  • 系統性能會隨着系統訪問量的增加而受到限制甚至遭遇瓶頸;服務器

  • 靜態資源訪問量巨大時,佔用出口帶寬,影響動態請求響應;網絡

  • 用戶請求分散時,回源距離長,影響用戶體驗(單純使用CDN仍然須要回源拉取)。架構

 

2、CDN+OSS架構方案:

該架構充分利用到「OSS帶寬/流量成本低、獨立響應、存儲空間無上限」的特色,結合CDN分發網絡,實現資源動靜分離,支持海量用戶訪問。併發

優化後產品架構以下圖所示:分佈式

 

一、適用場景

  • 靜態文件存儲量大,文件數量多,文件體積較大,服務器存儲空間不夠;ide

  • 靜態文件訪問量大,佔用帶寬負載或服務器負載,I/O問題致使用戶訪問卡頓;性能

  • 用戶分佈較爲分散,分佈在全國各地、各運營商;優化

  • 對文件下載速度要求較高,且併發下載量高。

二、架構描述

涉及產品介紹:

  • 對象存儲服務(OSS:Object Storage Service)是京東雲自主研發的大規模分佈式對象存儲服務,面向企業和我的開發者提供高可用、低成本、強安全的雲端存儲服務。您能夠實現對數據的統一管理,知足各種存儲需求。支持標準的 RESTfulAPI 接口,您只需按實際用量付費,無最低使用限制。支持流式寫入和文件寫入兩種方式。面對冷數據存儲的場景,對於那些訪問頻率比較低,同時對訪問速度要求不高的數據,能夠將數據以低頻訪問的方式進行存儲,爲您保存和備份資料提供了一個海量低價的空間。

  • 京東雲CDN(Content Delivery Network),基於京東優質網絡基礎設施和智能雲計算技術,向用戶提供低成本、高性能、可擴展的互聯網內容分發服務。利用普遍的節點覆蓋和先進的雲調度、雲存儲技術,將海量內容更快、更可靠地投遞給互聯網終端用戶,下降網站運營成本,提高用戶互聯網應用體驗。京東雲 CDN 的前身是服務於京東商城的自建 CDN 平臺,歷經多年 618 和 11.11等大促業務活動考驗,京東雲 600+ 節點普遍覆蓋於全國各區域和運營商,精選全網優質基礎設施,邊緣節點覆蓋全網、全地域,真正實現就近接流、就近推流。

    將京東雲的對象存儲和CDN服務搭配使用,使用京東自建的全網CDN加速節點,爲您提供上傳下載雙向加速,實現全網覆蓋、快速高效的內容分發。

架構優點:

  • 下降Web/應用服務器負載,靜態資源響應壓力轉移到CDN,避免性能影響;

  • 費用最低,OSS的存儲費用遠低於雲主機磁盤費用;

  • 超大容量存儲空間,大帶寬上傳通道,無需擔憂存儲空間上限;

  • 下降流量費用,正常訪問熱度狀況下,相比直接訪問OSS,減小95%回源流量。

 

3、實際案例

以一個常見的Web站點爲例。www.abc.com是一個新聞門戶網站,有500GB的新聞圖片、新聞視頻、JS文件等靜態內容,使用了LAMP架構,目前站點全套架構部署在京東雲上。隨着用戶業務發展,訪問量的不斷增加,很多用戶反映,訪問網站的速度愈來愈慢,圖片、視頻加載慢,卡頓率高,網站響應慢。客戶工程師發現用戶上傳的圖片愈來愈多,業務高峯期,帶寬峯值很高,服務器I/O常常被佔滿。

對於以上案例咱們能夠利用以上介紹的OSS+CDN架構對網站進行優化,實現動靜分離的產品架構,提高用戶訪問體驗,同時成本可控。

解決方案及步驟以下:

一、對網站應用架構進行整理,區分動態程序部分和靜態部分到不一樣的目錄進行管理,創建image、video、js目錄,分別放置全部網站圖片素材;

二、京東雲控制檯進入OSS產品,新建一個Bucket。根據雲主機所在的區域選擇bucket所在區域,權限選擇「公共讀」,bucket名稱與雲主機新建的目錄的名稱對應,如「abc-image-bucket」、「abc-video-bucket」和「abc-js-bucket」;

三、分別綁定域名image.abc.com、video.abc.com、js.abc.com並進行CDN加速。

四、上傳文件:提供控制檯上傳和表單上傳兩種方式。

  • 控制檯上傳:能夠經過對象存儲控制檯上傳小於1GB 的文件。如您要上傳的文件大於1GB,請經過對象存儲 API或SDK的方式上傳。

  • 表單上傳:表單上傳指用戶使用OSS API中的Post Object請求來完成文件的上傳,很是適合嵌入在HTML網頁中來上傳文件;

五、修改DNS調度,增長CNAME解析,將本來訪問源站的請求,調度到CDN加速域名,之後用戶訪問您的網站的靜態文件就所有經過OSS+CDN的方式訪問,再也不佔用您雲主機的資源。

 

4、典型應用場景

  • 新聞門戶網站

  • 應用分發市場

  • 在線音樂、在線K歌

  • 視頻、短視頻(UGC/PGC)

  • 電影院線

  • 在線教育

點擊"京東雲"瞭解更多詳情

 

相關文章
相關標籤/搜索