基礎設施架構 封面
Networking Database Architecture Microservices DevOps Distributed Systems System Design

基礎設施架構

📘 深度概覽

資料來源與整理脈絡#

本筆記整合自十個左右的技術專欄,涵蓋《透視 HTTP 協定》《趣談網路協定》《MySQL 實戰 45 講》《從零開始學架構》《郭東白的架構課》、三本微服務專欄、《持續交付 36 講》《Docker 實戰》等,加上 Kubernetes、Observability、儲存架構(電商實戰)等獨立主題。切入角度刻意避開「工具速查」,以「為什麼這樣設計」與「真實場景下如何取捨」為主軸,把分散在各書的概念縱向串成跨層級的知識網。相較於官方文件聚焦 API、面試題集聚焦記憶點,本倉庫補上的是長文專欄與場景化推演之間缺失的中間層。

完整摘要#

全書共十一個頂層模組、170 篇章節,依「從底層往上、從單機往分散式」的順序鋪陳。計算機網路(01) 從物理層 / 資料鏈結層一路推到 HTTP/HTTPS、DNS、CDN、雲網路與容器網路 Flannel/Calico;資料庫核心(02) 以 MySQL 一條 SQL 的完整執行流程為骨架,涵蓋連接器、解析器、最佳化器、執行器、B+ 樹索引、MVCC、redo/undo/binlog 三大日誌、主從複製與 Redis 跳表/壓縮列表。架構設計(03) 引入 4R 模型(Rank/Role/Relation/Rule)與「合適、簡單、演化」三原則,搭配高效能、高可用、可擴展、複雜度管理四大面向。微服務(04) 從拆分時機、有界上下文(Bounded Context)、服務通訊、註冊發現、API Gateway、組態中心、五大容錯模式、OAuth2 四種流程到限流演算法,幾乎涵蓋一個完整微服務平台。DevOps(05) 拉開 CI/CD 全景:分支策略、IaC、灰度發布、監控回滾、GitHub Actions 與 GitLab CI 實作。分散式系統(06) 補上 CAP/BASE 理論基礎、彈性設計與 Design for Failure 心法。Kubernetes(08)可觀測性(09)容器底層(10) 三章串起雲原生(Cloud Native)的編排、訊號(Logs/Metrics/Traces)與內核機制(Namespaces、cgroups、Union FS)。儲存系統架構(11) 以電商從零到 100 億訂單為案例,貫穿訂單冪等、分散式事務(2PC/TCC/Saga/Outbox)、不停機換庫、NewSQL 與 LSM-Tree。各章透過交叉連結互相引用,例如可觀測性連回 DevOps 的監控章、儲存架構連回 MySQL 章節,形成可雙向跳轉的網狀結構。

適用情境與閱讀路徑#

主要讀者是具備基本後端開發經驗、正要把職涯推進到「能設計系統」的工程師,以及準備系統設計面試、SRE / DevOps 轉型、或微服務化專案啟動前需要全景圖的人。建議路徑:新進後端工程師依 01 → 02 → 03 順序打底;微服務專案聚焦 04 → 06 → 08;DevOps / SRE 以 05 → 09 為主幹,回頭補 10 的容器內核;資料層深化則走 02 → 11 → 06。讀完應能在面對「為什麼用這個技術」「換成另一種會怎樣」「故障時哪裡會先壞」等問題時,有結構化的答題骨架,而非零散的關鍵字。

知識架構總覽#

模組說明章節數
計算機網路從實體層到應用層,包含 HTTPS、DNS、CDN8
資料庫MySQL 架構、索引、事務、效能、Redis 快取7
架構設計高效能、高可用、可擴展、複雜度管理6
微服務拆分、通訊、發現、閘道、治理、案例研究10
DevOpsCI/CD、版本控制、流水線、發布、GitHub/GitLab11
分散式系統一致性、容錯、效能、架構模式4
系統設計搜尋引擎、短網址等典型系統題型2

閱讀建議#

  1. 新進後端工程師:依序閱讀網路 → 資料庫 → 架構設計,建立基礎
  2. 微服務 / 分散式專案:聚焦 04-microservices、06-distributed-systems
  3. DevOps / SRE:05-devops 是核心
  4. 面試系統設計題:07-system-design 與 04-microservices/10-case-studies

關聯倉庫#