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