Designing-Data-Intensive-Applications Ch1 Note
Jul 11, 2021
Ref:
第一章:可靠性,可擴充套件性,可維護性
現在的系統,瓶頸大部分是 資料量、資料複雜性、以及資料的變更速度,而不是 CPU問題
DB/Queue/Cache,在另一層面也算是 儲存的系統,Ex Queue 要儲存data, Cache
怎樣衡量一個系統,可以從
- 可靠性(Reliability)
- 可擴充套件性(Scalability)
- 可維護性(Maintainability)
可靠性(Reliability)
一般視為,即時出現問題,能不能用,EX:
- 應用程式表現出使用者所期望的功能。
- 允許使用者犯錯,允許使用者以出乎意料的方式使用軟體。
- 在預期的負載和資料量下,效能滿足要求。
- 系統能防止未經授權的訪問和濫用。
可擴充套件性(Scalability)
用 “X可擴充套件”或“Y不可擴充套件”是沒有任何意義的
應該思考 是 “如果系統以特定方式增長,有什麼選項可以應對增長?”和“如何增加計算資源來處理額外的負載?”
- 是否改架構 或 business flow? (ex tweeter 時間軸第一版 → 第二版的優化)
- 縱向擴充 / 橫向擴充
可維護性(Maintainability)
中心就是怎樣更少人工介入,更簡單的作業流程 ,讓運維人員更輕鬆管理