網際網路架構演變之路
阿新 • • 發佈:2020-10-23
一、不知名的小網站 一臺伺服器滿足要求
典型的技術:linux+mysql+PHP+apache
面臨的問題:效能越來越差;越來越多資料導致儲存空間不足
二、應用服務分離
應用伺服器:需要更強大CPU
資料伺服器:需要更快的硬碟和更高的記憶體
檔案伺服器:需要更大的硬碟
不同的伺服器承擔不同的角色->效能提升
面臨的挑戰:
資料庫壓力太大導致訪問延遲,進而影響整個網站的效能,使用者體驗受影響
三、使用快取改善效能
常用快取:redis memcach
發展問題:請求連線有限,網站訪問高峰期,應用伺服器成為整個網站的瓶頸
四、應用服務叢集
使用快取後雖然大大減輕了資料庫的讀壓力,有一部分快取和全部寫資料操作要訪問資料庫,使用者到達一定規模後,資料庫成了瓶頸
五、資料庫讀寫分離
發展問題:地域網路差異大如何保證使用者體驗
六、反向代理,CDN加速
加快訪問速度
減輕後端訪問壓力
面臨問題:單資料伺服器存不了資料
七、分散式檔案系統,分散式資料庫
發展問題:資料的儲存需求和檢索越來越複雜
欄位差異大,骷髏表
複雜文字檢索
八、使用NOSQL、搜尋引擎
發展問題:迭代週期太快,牽一髮而動全身
十、業務拆分
面臨問題:
應用間的關係越來越複雜,應用中存在相同操作
後端資料庫要被成千上萬的應用服務連線,資料庫連線資源不足
十一、服務化
架構思路
1、分而治之
2、隨網站所需應對
3、業務驅動技術發展,技術反哺業務