系統設計概論
解耦性:
系統設計都是往微小化發展,都是不斷解耦的過程;網絡架構,系統架構,計算機架構,代碼設計都是類似的思路。
解耦使得開發過程更加靈活,各業務互不干擾,系統效率更高,系統的健壯性更強,系統更加彈性易於擴展。
屏蔽異構性:
通過統一的協議、中間件,API等,來兼容不同的底層硬件、架構、系統等,以方便系統規模化擴展、方便開發和移植。
例如軟件通過TCP/IP協議兼容底層硬件實現網絡傳輸;業務開發通過中間件兼容操作系統
異步執行:
由於計算機架構的侷限性以及CPU內存磁盤等硬件技術瓶頸,需要利用緩存緩衝等異步執行技術,來合理高效運行系統,例如WAL機制。
下圖從架構層次解構,對系統性能優化做一個大綱: