大型網站架構技術-演化

大型網站架構技術-演化

特點

  • 高併發、大流量
  • 高可用
  • 海量數據
  • 用戶分佈廣泛、網絡情況複雜
  • 安全環境惡劣:易受攻擊
  • 需求變化快、發佈頻繁:爲了快速適應市場
  • 漸進式發展:逐漸進步發展

發展歷程

初始階段

應用程序、數據庫、文件等所有資源都在一臺服務器上。一般是在一臺廉價的服務器上採用LAMP這種免費資源。

應用服務和數據服務分離

採用三臺服務器分別承擔自己的角色。

使用緩存改善網站的性能

二八定律:80%的業務訪問集中在20%的數據上,爲了減少數據庫的訪問壓力,可以將一些數據放到緩存服務器上,這樣可以提高整個網站的數據訪問速度。 一般分爲兩種:

  • 緩存在應用服務器上的本地緩存:訪問速度快,但緩存的數據有限;
  • 緩存在專門的分佈式緩存服務器上的遠程緩存:可以採用分佈式緩存。採用應用服務器改善網站併發處理能力 當應用服務器處理不了較多的併發請求時,可以增加一臺服務器分擔原有的服務器的訪問,在前面加一個負載均衡服務器。數據庫讀寫分離 雖然採用了緩存,但有一些讀操作和一部分寫操作還是會落到數據庫上。一般採用主從備份的數據庫,寫操作可以在主數據庫中進行,讀操作在從數據庫中讀取。使用反向代理和CDN加速網站響應 加速用戶的訪問。基本原理都是緩存,CDN是部署在網絡提供商的機房,反向代理部署在網站的中心機房。對於反向代理,用戶首先訪問的是反向代理服務器,如果反向代理服務器中緩存着資源,就直接返回給用戶。使用分佈式文件系統和分佈式數據庫系統 持續增長的業務,單一的服務器滿足不了要求的時候,一頭牛拉不動的時候,不要企圖換一頭更厲害的牛,而是考慮再加一頭牛一起拉。使用NoSQL和搜索引擎 網站業務越來越複雜,對數據存儲和檢索的需求也越來越複雜,需要採用一些非關係數據庫技術和非數據庫查詢技術如搜索引擎。業務拆分 分而治之分佈式服務
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章