iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

Re:從零開始做直播代購電商平台 系列

前年我在一間直播代購電商新創擔任 Backend Lead:客人在直播留言「2601+1」就是下單——起標瞬間每秒 200 則留言、13,000 人在線,而全部家當是一台 VM、一顆 Cloud SQL 和六個工程師。這 30 天不是回憶錄,是帶著現在功力的完整重打:每天從一個真實需求出發——留言怎麼變成訂單、庫存怎麼守住不超賣、金流三個坑怎麼被架構整組溶解、沒有 SRE 的年代怎麼靠人肉跟播——先誠實講當年怎麼做、踩了什麼,再給出重來版設計。從第一行程式、開賣尖峰、真實事故,一路寫到拆成微服務與終局:一個真實系統的軟體開發實錄。改寫自我的部落格同名系列。

參賽天數 12 天 | 共 22 篇文章 | 3 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 1|全景:留言下單的一筆訂單,會經過哪些系統

先說這 30 天是什麼:不是教學,是一個真實商業系統的軟體開發實錄——設計、取捨、事故,和「如果重來」。 這是一個新系列,也是這個部落格第一個戰爭故事。我在前公...

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

Day 2|起手式:五個元件與一條 CI/CD

全景鋪完,講留言、庫存那些戰役之前,先把當年的武器庫攤開——因為後面每一章的取捨,都是在這套技術棧的邊界裡做的。團隊很小:3 個後端、3 個前端,偶爾發包給外包...

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

Day 3|留言即下單(上):一條迴圈,吃下三個平台

全景和起手式鋪完,進主線第一戰:一則留言,怎麼變成一筆單。這章講「接進來」和「解析」兩段,佔庫存的攻防留給下一章。主角是把聊天室變成收銀機的那台有限狀態機——我...

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

Day 4|留言即下單(下):為拇指設計的迷你語言

昨天講了留言怎麼接進來;今天拆管線的心臟——把「2601藍+1紅+2」變成訂單的那台手寫 FSM,我們直接讀程式碼。 解析:一個為拇指設計的迷你語言 客人在直播...

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

Day 5|身分與帳號(上):先有單,才有帳號

上一章的 FSM 解出了「誰買了什麼」——但那個「誰」,其實只是 FB 給的一串數字。他可能從來沒註冊過我們的平台,可能明天才會登入,可能永遠不會。而庫存現在就...

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

Day 6|身分與帳號(下):FB 的牆,與三層綁定漏斗

昨天講了「身分是事實、帳號是聚合」——但把身分綁到帳號這一步,有一堵 FB 親手砌的牆。 FB 不讓你知道他是誰:ASID 與 PSID 真正的大魔王在綁定這一...

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

Day 7|庫存(上):不能超賣,是唯一的鐵律

留言解析完、身分掛好單,主線走到心臟:庫存。這個系統的功能清單可以慢慢長,但只有一條規則從第一天就是鐵律——不能超賣。賣掉不存在的貨,是要一個一個跟客人道歉退款...

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

Day 8|庫存(下):那次真的超賣,兇手是一次 migration

昨天說這個系統真的超賣過一次。所有人的直覺都會猜是鎖沒上好——不是。公式從頭到尾沒破,破的是公式裡一個詞的定義。 那次真的超賣:兇手不是併發,是一次 migra...

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

Day 9|購物車到訂單(上):兩種購物車,與三層結構

交易主線的最後一站:單怎麼從購物車走到訂單。留言進了購物車、身分掛好了單、庫存卡住了不變量——這章把它們聚合成一筆可以付錢、可以出貨、可以開發票的東西。明天的標...

2026-09-23 ‧ 由 aidan79225 分享
DAY 10

Day 10|購物車到訂單(下):被主播拔掉的狀態機

昨天預告了:這個系統裡有一台真的被拔掉的狀態機。今天講訂單的「狀態」為什麼是五個欄位、零個狀態機。 訂單的「狀態」:五個欄位,零個狀態機 教科書會教你給訂單畫一...

2026-09-24 ‧ 由 aidan79225 分享