《從零開始學架構》讀書筆記一:架構基礎
系統的定義
系統泛指由一群有
的個體組成,根據某種
運作,能完成個別元件
的工作的群體。
模組 和 元件
模組:從邏輯層面拆分出來的單元,主要用於職責分離,比如訂單模組,登入模組
元件:從物理層面拆分出來的單元,主要用於單元複用,比如nginx,web伺服器,mysql等
架構設計的目的是為了解決系統複雜度帶來的問題
那麼清楚為系統帶來複雜度讀度的原因是十分有必要的,工程中主要有如下五個維度
-
高效能
單機層面(多程序,多執行緒,多程序,程序間通訊), 叢集層面,分散式系統的資料一致性,分散式事務,分散式鎖,任務分配器的實現(負載均衡) -
高可用
系統高可用的本質就是通過冗餘來 實現高可用(計算和儲存)
無論是計算高可用還是儲存高可用其基礎都是狀態決策,即系統應能判斷當前的狀態是正常還是異常(獨裁式,協商,民主式) -
可擴充套件
策略:拆分出變化層和穩定層,並設計變化層和穩定層的介面 -
低成本
往往只有創新才能達到低成本的目的包含採用新技術和自己創造新技術 -
安全
安全元件對系統性能帶來的影響,比如防火牆