標籤:相對 反向 Proxy伺服器 新聞 策略 程式 代理服務 mil 不能 商品
1.應用,資料,檔案分離。
將應用程式,資料庫,檔案各自部署在獨立的伺服器上,並且根據伺服器的用途配置不同的硬體,達到最佳的效能效果。
2.利用緩衝改善網站效能。
大部分的網站訪問都遵循28原則,即80%的訪問請求,最終落在20%的資料上,所以我們可以對熱點資料進行緩衝,減少熱點資料的訪問路徑,提高使用者體驗。緩衝實現的常見方法是本機快取,分布式緩衝,CDN,反向 Proxy。
本機快取:速度快,空間有限快取資料量也有限。OSCache
分布式緩衝:可緩衝海量的資料,拓展非常容易,速度沒有本機快取快。Memcached, Redis.
反向 Proxy: 請求先訪問反向 Proxy伺服器,反向 Proxy伺服器先將緩衝的資料返回給使用者,沒有緩衝的資料才會繼續訪問應用伺服器擷取。這樣做減少了擷取資料的成本。Squid, Nginx.
CDN
3.使用叢集+負載平衡改善應用伺服器效能
應用伺服器作為網站的入口,會承擔大量的請求,我們往往通過應用伺服器叢集來分擔請求數。 應用伺服器前面部署負載平衡伺服器調度使用者請求,根據分發策略將請求分發到多個應用伺服器節點。
4. 資料庫最佳化
4.1 讀寫分離和分庫分表 隨著使用者量的增加,資料庫成為最大的瓶頸,改善資料庫效能常用的手段是進行讀寫分離以及分庫分表,讀寫分離顧名思義就是將資料庫分為讀庫和寫庫,通過主備功能實現資料同步。分庫分表則分為水平切分和垂直切分,水平切分則是對一個資料庫特大的表進行拆分,例如使用者表。垂直切分則是根據業務的不同來切分,如使用者業務、商品業務相關的表放在不同的資料庫中。
5. 將應用伺服器進行業務拆分
隨著業務的擴充,應用程式變得非常臃腫,這時我們需要將應用程式進行業務拆分,如百度分為新聞、網頁、圖片等業務。每個業務應用負責相對獨立的業務運作。業務之間通過訊息進行通訊或者共用資料庫來實現。
6.使用分布式系統
6.1 Distributed File System 使用者一天天增加,業務量越來越大,產生的檔案越來越多,單台的檔案伺服器已經不能滿足需求,這時就需要Distributed File System的支撐。常用的Distributed File System有GFS、HDFS、TFS。
最佳化網站效能必備的六種架構方案