What is Scalability? 可擴展性核心概念解析
定義
可擴展性 是指系統、網路或流程通過增加資源(硬體、節點、資源池)來應對不斷增長的負載需求,同時保持性能指標(吞吐量、延遲、可用性)不劣化的能力。
兩大擴展維度
| 類型 | 說明 | 典型場景 |
| Scale Up (垂直擴展) | 單節點增加 CPU、記憶體、存儲 | 傳統單體資料庫、單機應用 |
| Scale Out (水平擴展) | 增加節點數量,分散負載 | 分散式資料庫、微服務、雲原生架構 |
關鍵度量指標
- 線性度:資源增加 N 倍,吞吐量是否接近 N 倍增長
- 彈性:自動縮放響應速度、成本效益
- 可用性:擴展過程中服務零中斷
- 一致性代價:水平擴展下跨節點協調開銷(CAP 權衡)
資料庫層面的擴展策略
- 讀寫分離:主庫寫入、從庫讀取
- 分庫分表:按業務/租戶/範圍拆分
- 分散式 SQL:NewSQL(TiDB、CockroachDB、OceanBase)
- 快取層:Redis、Memcached 吸收熱點讀流量
結語
可擴展性非單一技術,而是架構設計、容量規劃、自動化運維的系統工程。雲原生時代,「設計為失敗、設計為擴展」已成核心準則。