Designing-Data-Intensive-Applications Ch1 Note

Ngchiwa Ng
Jul 11, 2021

--

Ref:

第一章:可靠性,可擴充套件性,可維護性

現在的系統,瓶頸大部分是 資料量、資料複雜性、以及資料的變更速度,而不是 CPU問題

DB/Queue/Cache,在另一層面也算是 儲存的系統,Ex Queue 要儲存data, Cache

怎樣衡量一個系統,可以從

  • 可靠性(Reliability)
  • 可擴充套件性(Scalability)
  • 可維護性(Maintainability)

可靠性(Reliability)

一般視為,即時出現問題,能不能用,EX:

  • 應用程式表現出使用者所期望的功能。
  • 允許使用者犯錯,允許使用者以出乎意料的方式使用軟體。
  • 在預期的負載和資料量下,效能滿足要求。
  • 系統能防止未經授權的訪問和濫用。

可擴充套件性(Scalability)

用 “X可擴充套件”或“Y不可擴充套件”是沒有任何意義的

應該思考 是 “如果系統以特定方式增長,有什麼選項可以應對增長?”和“如何增加計算資源來處理額外的負載?”

  1. 是否改架構 或 business flow? (ex tweeter 時間軸第一版 → 第二版的優化)
  2. 縱向擴充 / 橫向擴充

可維護性(Maintainability)

中心就是怎樣更少人工介入,更簡單的作業流程 ,讓運維人員更輕鬆管理

--

--

Ngchiwa Ng
Ngchiwa Ng

Written by Ngchiwa Ng

Backend/iOS Engineer, rock the world

No responses yet