一個網站先處理一千個用戶,然後是一百萬個用戶。它會崩潰嗎?可擴展性是指系統處理不斷增長的工作量的能力。它可以透過增加資源(橫向擴展)或增強現有資源的效能(縱向擴展)來實現成長。一個可擴展的系統不會在需求上升時崩潰。
垂直擴展比較簡單,只需增加記憶體、更快的 CPU 或更大的磁碟即可。但垂直擴展也有其局限性,內存不可能無限增加。水平擴展則更複雜,需要增加更多機器並分散負載。這需要負載平衡器、分散式資料庫和無狀態服務,但水平擴展幾乎可以無限擴展。
規模化策略
- 橫向:增加更多伺服器
- 垂直領域:升級現有伺服器
- 負載平衡:分配流量
- 快取:減少重複工作
- 分片:將資料拆分到多台機器上。
可擴展性不僅關乎硬件,更關乎架構。設計糟糕的系統無論投入多少伺服器都無法擴充。而設計精良的系統則可以從新創公司發展成為全球平台。早期的設計決策決定了你能走多遠。
Comments
No comments yet. Be the first to share a thought.
Leave a comment