架構知識體系總結
@Date 2018.08.30
一. 架構是什麼?
- 系統:相互協同可運行的實體,是一羣關聯個體組成, 這些個體可以是子系統/模塊/組件等
- 架構:頂層設計,需要明確系統包含哪些個體,明確個體運作和寫作的規則
- 框架:面向編程或者配置的半成品
- 組件:技術維度的複用
- 模塊:業務維度的職責劃分
二. 架構設計的背景
- 軟件生產力遠遠跟不上硬件和業務的發展, 軟件的擴展非常複雜
- 系統規模龐大,內部耦合嚴重,開發效率低
- 系統耦合嚴重, 牽一髮動全身, 後續修改和擴展困難
- 系統邏輯複雜, 容易出問題, 出問題後很難排查和修復
三. 架構設計的目的
- 解決軟件系統複雜度
- 熟悉和理解需求, 識別系統的複雜點, 並針對解決
- 並不需要面面俱到, 不需要每個架構都具體CAP特性
- 在一個有約束的條件(團隊經驗/成本/資源/進度/業務)下去求最合適的解
- 需求驅動架構
- 分析
- 性能
- 可擴展性
- 高可用
- 存儲高可靠
- 安全性/隱私性
- 成本
我的博客即將入駐“雲棲社區”,誠邀技術同仁一同入駐。