第一步:使用靜態資源的合併壓縮等前端優化手段css
第二步:使用CDN和雲前端
第三步:動靜分離,將靜態圖片,js,css存放到單獨的域名。瀏覽器
(1)使用單獨域名,瀏覽器不會把主域名下的 cookie 傳給該域,減小了網絡開銷,必定程度提升了頁面加載速度。
(2)將Web應用程序中靜態和動態的內容分別放在不一樣的 Web 服務器上,有針對性地處理動態和靜態內容,從而達到性能的提高。緩存
動靜分離分離後,數據內容以幾何級數增加,尤爲是那些小文件,幾K到幾百K不等,數量巨多,傳統的文件系統處理起來非常吃力,面臨如下問題:
(1)磁盤IO太高
海量文件檢索效率低,因爲現有的存儲系統沒法有效管理海量小文件,而且在單個目錄下存放文件的數量有必定的限制,一旦文件數到達了必定規模以後,文件的檢索速度就急劇降低。當前用戶只能經過多級目錄來組織存放大量的小文件,隨着目錄深度的增長,文件的檢索開銷進一步增大,檢索效率隨之降低(大量的磁盤尋址)。
(2)備份困難
(3)單點問題,容量和讀寫沒法水平擴展,還存在故障的可能。安全
現有的存儲系統一旦出現連續的磁盤故障或者服務器失效的狀況,將會當即中斷應用的讀寫過程,嚴重的甚至形成數據丟失。
小文件的備份速度極慢,而備份大量小文件將會耗費大量的時間和系統資源。
用戶在存儲大量小文件時不得不採用了費時費力的方式,將文件複製多份到多套的存儲系統中以提升安全性。服務器
使用分佈式文件系統(Distributed File System):指文件系統管理的物理存儲資源不必定直接鏈接在本地節點上,而是經過計算機網絡與節點相連。
優勢:
(1)擴展能力: 是一個分佈式文件系統最重要的特色。
(2)高可用性: 在分佈式文件系統中,高可用性包含兩層,一是整個文件系統的可用性,二是數據的完整和一致性。
(3)協議和接口: 分佈式文件系統提供給應用的接口。
(4)彈性存儲: 能夠根據業務須要靈活地增長或縮減數據存儲以及增刪存儲池中的資源,而不須要中斷系統運行。彈性存儲的最大挑戰是減少或增長資源時的數據震盪問題。
(5)壓縮、加密、去重、緩存和存儲配額: 這些功能的提供每每考驗一個分佈式文件系統是否具備可擴展性,一個分佈式文件系統若是能方便的進行功能的添加而不影響整體的性能,那麼這個文件系統就是良 好的設計。存儲配額就是能夠爲應用所能使用的存儲空間進行配額限制,好比每一應用只能使用最大配額範圍內的存儲空間。cookie
例如使用MongoDB分佈式文件系統的靜態資源方案:網絡
每一步涉及到的具體技術選型問題須要具體問題具體分析前端優化
圖片顯示的時候能夠等比例縮略圖分佈式