iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

30 天從 Full-Stack Engineer 進化到 System Design:從 0 設計可支撐百萬使用者的系統 系列

本系列將以 30 天的時間,從基礎到實戰探索 System Design,整理軟體工程師在設計大型系統時需要掌握的核心觀念。內容將涵蓋 Scalability、Load Balancing、Caching、Database、Message Queue、Microservices、Reliability 等主題,並進一步延伸至 RAG、LLM 與 AI Agent 等現代 AI 系統架構。
除了介紹基本概念,也會透過 URL Shortener、Chat System、Notification System 與 AI Application 等實際案例,一步步拆解需求、分析架構選擇與設計取捨

參賽天數 9 天 | 共 9 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 1

System Design 到底是什麼?

Day 1|System Design 到底在學什麼?從會寫功能,到會設計一個系統 身為一個軟體工程師,我們平常很常把注意力放在「怎麼把功能做出來」。 例如:...

2026-09-15 ‧ 由 cookie10142008 分享
DAY 2

Day2 | 當你在瀏覽器輸入網址後發生了什麼?從 DNS 到 Server 的 Request Journey

Day 1 我們先認識了什麼是 System Design,也建立了一個最簡單的 Web Application 架構: User ↓ Frontend...

2026-09-16 ‧ 由 cookie10142008 分享
DAY 3

# Day 3|Vertical Scaling vs Horizontal Scaling:Server 不夠用了怎麼辦?

Day 2 我們了解了一個 Request 從 Browser、DNS、Server 到 Database 的基本旅程。 最簡單的架構可能是: Users...

2026-09-17 ‧ 由 cookie10142008 分享
DAY 4

# Day 4|Load Balancer 是什麼?多台 Server 到底要怎麼分配 Request?

Day 3 我們介紹了兩種基本的 Scaling 方法: Vertical Scaling → Scale Up Horizontal Scaling →...

2026-09-18 ‧ 由 cookie10142008 分享
DAY 5

# Day 5|SQL vs NoSQL:System Design 到底該選哪一種 Database?

前幾天我們把系統從單一 Server 擴展成: ┌── Server #1...

2026-09-19 ‧ 由 cookie10142008 分享
DAY 6

# Day 6|Database Index:為什麼加一個 Index,Query 可以快這麼多?

Day 5 我們討論 SQL vs NoSQL,也用 Shopping Cart 設計了 Customer、Product、Cart、Order 與 Trans...

2026-09-20 ‧ 由 cookie10142008 分享
DAY 7

# Day 7|Cache:為什麼 Redis 可以讓系統快這麼多?

Day 6 我們利用 Database Index 改善 Query Performance。 但假設熱門 Product Page 每秒有: 100,000...

2026-09-21 ‧ 由 cookie10142008 分享
DAY 8

# Day 8|Database Replication:一台 Database 不夠讀怎麼辦?

Day 7 我們加入 Cache,減少大量重複的 Database Read。 但 Cache Miss、User-specific Query、Frequen...

2026-09-22 ‧ 由 cookie10142008 分享
DAY 9

# Day 9|Database Sharding:資料太多,一台 Database 放不下怎麼辦?

Day 8 我們學到 Database Replication:把相同資料複製到其他 DatabaseServer,主要改善 Read Scaling 與 Av...

2026-09-23 ‧ 由 cookie10142008 分享