《架構師訓練營》-第四周-學習總結

高併發挑戰的兩個方法

垂直伸縮

垂直伸縮是指提升單臺服務器硬件,不需要改變系統軟件架構。

缺點

當硬件提升到一定程度之後,提升的性能和價格性價比不高

水平伸縮

水平伸縮是指增加服務器,將系統由單機擴展爲集羣,以此來獲取性能提升。

缺點

初期需要投入較多的人力來實現系統的集羣。

架構演化

第零階段

單機部署應用程序,文件服務器和數據庫,如下圖:
在這裏插入圖片描述

第一階段

當發現單臺的網絡帶寬,CPU,IO不足時,可以將文件服務器和數據庫獨立部署,如下圖
在這裏插入圖片描述

第二階段

當發現請求頻繁的訪問數據庫,導致響應偏慢,可以考慮增加緩存組件,如下圖:
在這裏插入圖片描述

第三階段

當請求併發到一定程度,發現單臺應用服務器無法支撐時,需要考慮應用服務器集羣,如下圖
在這裏插入圖片描述

第四階段

應用服務器支持高併發,有可能數據庫的連接數不夠或者響應跟不上,導致請求耗時過長,可以考慮對數據庫進行讀寫分離(通過第三方組件自動實現讀寫分離),如下圖
在這裏插入圖片描述

第五階段

當發現文件服務器的帶寬不夠用時,可以考慮CDN加速,如下圖:
在這裏插入圖片描述

第六階段

當讀寫分離之後,數據庫還是無法支持高併發,考慮將數據庫進行集羣,如下圖:
在這裏插入圖片描述

第七階段

引入noSQL和搜索引擎,如下圖:
在這裏插入圖片描述

第八階段

將業務拆分,也就是微服務。如下圖:
在這裏插入圖片描述

第九階段

引入數據中臺(參考知乎:https://zhuanlan.zhihu.com/p/75223466),如下圖:
在這裏插入圖片描述

架構模式

分層

將系統分持久層,業務邏輯層,控制層等

分割

將不同功能進行分割,例如可以將用戶管理分割成單獨的功能

分佈式

將一個大的系統拆分成幾個子系統

集羣

對系統進行集羣部署

緩存

  1. CDN
  2. 反向代理:將請求轉發到內部服務器
  3. 本地緩存:客戶端緩存
  4. 遠程緩存:服務端緩存

異步

將一個業務複雜的邏輯分成多個異步執行。可以提供系統可用性,加快響應速度,消除併發訪問高峯(削峯)

冗餘

服務器冗餘,數據冗餘備份

自動化

例如自動重啓

安全

  1. 加密協議
  2. 加密存儲
  3. 網站驗證碼訪問
  4. 敏感信息過濾

衡量架構設計的指標

高性能

快速響應

高可用

宅備

可伸縮

集羣

可擴展

系統的擴展性

互聯網架構技術一覽

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章