跳到主要內容
Cypher's Practical Coding
正在準備工作環境...

看懂架構圖:Load Balancer、CDN、DB、Container

情境引入

工程師分享了一張架構圖,上面有一堆方塊和箭頭:「Load Balancer → Web Server → Redis → PostgreSQL」。你看著圖,不確定哪個方塊做什麼事。

這堂課要讓你看到架構圖時,能認出每個元件的角色,就像看地圖一樣自然。


架構圖的基本邏輯

架構圖就是「系統的地圖」,顯示:

  • 有哪些元件
  • 元件之間怎麼溝通
  • 資料怎麼流動

讀架構圖的技巧:從使用者的角度,順著箭頭走。


元件大圖鑑

🚦 Load Balancer(負載平衡器)=交通指揮員

它做什麼: 把大量的用戶請求,分配給多台伺服器,避免某一台太忙而掛掉。

生活比喻: 超市收銀台前的「服務員」,引導顧客去沒排隊的收銀台。

在架構圖中: 通常是用戶進來的第一個關卡,一個方塊連出去多條線到多台伺服器。

為什麼重要: 雙十一流量瞬間爆增,沒有 Load Balancer,第一台伺服器被打爆,其他伺服器卻閒著。


🌐 CDN(Content Delivery Network,內容傳遞網路)=在各地的倉庫

它做什麼: 把靜態內容(圖片、CSS、JS 檔案)複製到全球各地的節點,讓用戶從最近的地方取得。

生活比喻: 便利商店的「冷藏展示架」——常賣的商品就放在最近的地方,不用每次都跑到總倉。

在架構圖中: 通常在最前端,在 Load Balancer 之前。

電商案例: 你的商品圖片存在台灣,但東南亞用戶看圖很慢。有了 CDN,圖片複製一份到新加坡節點,東南亞用戶直接從新加坡拿,速度快 3 倍。


🖥️ Web Server(網頁伺服器)=店面

它做什麼: 接收用戶的請求,執行應用程式邏輯,回傳結果。

生活比喻: 超市的「服務台」——你問什麼問題,它幫你找答案。

在架構圖中: 核心方塊,通常有多台(水平擴充)。


🗄️ Database(資料庫)=倉庫

它做什麼: 永久儲存所有資料——訂單、客戶資料、商品庫存。

生活比喻: 超市後面的「大倉庫」,所有商品的真正存放地。

常見類型:

  • 關聯式資料庫(PostgreSQL、MySQL):像 Excel,有欄有列
  • NoSQL(MongoDB、DynamoDB):像 JSON,彈性結構

在架構圖中: 通常在最後端,被 Web Server 讀取。


⚡ Cache(快取)=架上的貨架

它做什麼: 把常用的資料暫存在記憶體裡,讓讀取速度快 100 倍。

生活比喻: 超市賣場的「貨架」——常賣的商品放在最顯眼的架上,不用每次都去倉庫拿。

代表工具: Redis、Memcached

電商案例: 「熱門商品排行榜」每秒被查詢幾千次,如果每次都去資料庫查,資料庫會過載。把結果存進 Redis,1 毫秒就回應。


📦 Container(容器)=標準化的貨箱

它做什麼: 把程式和它需要的所有執行環境打包在一個「箱子」裡,任何地方都能跑。

生活比喻: 船運的「貨櫃」——裡面裝什麼不重要,只要規格一樣,船、車、吊車都能搬。

代表工具: Docker、Kubernetes

為什麼重要: 「我的電腦可以跑,為什麼你的不行?」Container 解決了這個問題——把整個環境打包,哪裡跑都一樣。


完整電商架構圖解析

一個典型電商網站的架構長這樣:

用戶瀏覽器
    ↓
[ CDN ] → 靜態資源(商品圖片、JS、CSS)直接回應
    ↓(動態請求)
[ Load Balancer ] → 分流到多台 Web Server
    ↓
[ Web Server × 3 ] → 執行訂單邏輯、商品搜尋
    ↓              ↓
[ Cache (Redis) ]  [ Database (PostgreSQL) ]
  熱門商品快取       訂單、客戶永久資料

讀法:

  1. 用戶請求先到 CDN——如果是圖片,CDN 直接回應,最快
  2. 動態請求(查訂單、加入購物車)到 Load Balancer
  3. Load Balancer 分給三台 Web Server 其中一台
  4. Web Server 先查 Cache——有就直接回
  5. Cache 沒有才去 Database 查,查完順便存進 Cache

練習題


AI 協作:學了這個,跟 AI 怎麼配合?

看懂架構圖讓你能跟 AI 討論系統瓶頸,而不只是「聽工程師說哪裡慢」。

你的人類優勢:

  • 你知道業務場景(哪個功能最重要、哪些流量是真實的用戶需求),能判斷優化方向
  • 你了解預算和時程限制,能在多個架構方案中做出平衡決策

可以這樣跟 AI 說:

請幫我畫出一個電商網站的基本架構圖(用文字方塊 + 箭頭描述即可),包含 CDN、Load Balancer、Web Server、Cache、Database。並說明每個元件在雙十一流量高峰時各自的瓶頸點在哪裡。

挑戰任務

Task 1

工程師說「商品圖片查詢很慢,我想加一個 CDN」。作為 PM,你應該追問工程師什麼問題來確認這個方案是否合理?

Task 2

你看到架構圖裡有 Load Balancer 連到三台 Web Server。現在要做成本優化,工程師說「可以縮到兩台 Web Server」。這樣做有什麼風險?什麼情況下是合理的?

Task 3

行銷活動「限時搶購」上線時,「熱門商品列表」API 每秒被呼叫 5000 次。工程師建議「加一層 Redis Cache」。請用你自己的話解釋為什麼這樣能解決問題。

BackNext Lesson →