本篇透過七個經典分散式系統的深入剖析,帶你理解大規模系統設計的核心思維與工程實踐。

涵蓋的系統#

  • Dynamo — Amazon 的高可用鍵值儲存系統,展示最終一致性(Eventual Consistency)與去中心化架構的設計取捨
  • Cassandra — 受 Dynamo 與 BigTable 啟發的分散式寬欄儲存系統,兼顧高可用性與可調一致性
  • Kafka — 高吞吐量的分散式訊息系統,以持久化的提交日誌(Commit Log)為核心架構
  • Chubby — Google 的分散式鎖定服務,基於 Paxos 共識協定提供粗粒度鎖定與可靠的小量資料儲存
  • GFS — Google 檔案系統,為大規模資料密集型應用設計的分散式檔案系統
  • HDFS — Hadoop 分散式檔案系統,GFS 的開源實現,專為批次處理工作負載最佳化
  • BigTable — Google 的分散式結構化資料儲存系統,建構於 GFS 與 Chubby 之上

建議: 這些系統之間有許多共通的設計模式(如一致性雜湊、預寫式日誌、法定人數等)。建議搭配 Part 2 的系統設計模式一起閱讀,能更全面地理解每個設計決策背後的原理。