cover

後端 MVP 不是什麼都做,而是搞清楚哪些東西「沒有的話會死」。

先講結論

後端 MVP(Minimum Viable Product)設計的核心問題是:在有限資源下,怎麼建立一個可擴展、可維護的架構?答案不是把所有好東西都塞進去,而是先搞定幾個關鍵的架構元件。

關鍵元件有哪些?

以我的經驗,後端 MVP 至少要考慮這些東西:

Event 事件 —— 當 A 動作發生之後,需要觸發 B、C、D 等一連串非同步處理的場景。比如使用者註冊成功後要寄信、建立預設設定、通知管理員。你不會想把這些全塞在同一個 controller 裡面。

Pipeline 管線 —— 請求從進來到出去,中間要經過哪些關卡?驗證、權限檢查、日誌記錄、資料轉換…這就是 Pipeline 在管的事。搞懂框架的 request lifecycle,你才知道在哪裡插入你的邏輯最合適。

Queue 佇列 —— 有些事情不用即時做完。寄信、產生報表、影片轉檔,這些丟到 Queue 裡面背景處理就好。使用者不需要等你寄完信才能繼續操作。

Exception Handler 例外處理 —— 統一的錯誤處理是最容易被忽略、但最不該被忽略的東西。沒有它,你的 API 回傳格式就會像是隨機生成的——有時候回 JSON,有時候回 HTML 錯誤頁,有時候直接 500 給你看 stack trace。

Crontab 排程 —— 定期需要執行的任務:清理過期資料、產生日報、檢查健康狀態。這些不能靠人記得去手動跑。

測試 —— 我知道很多團隊「先不寫測試」然後「以後再補」,但你我都知道那個「以後」永遠不會來。至少 API 端點的基本 Feature Test 要有。

為什麼是這些?

你會發現這些元件有一個共同點:它們都不是「功能」,而是「基礎設施」。就像蓋房子你不會先想客廳要放什麼沙發,而是先確認水電管線有沒有拉好。

後端架構也是一樣——Event、Pipeline、Queue、Exception Handler 這些東西搞定了,後面不管開發什麼功能都能在一個穩固的地基上蓋。搞不定?那就等著每加一個功能就多一層 技術債 定時炸彈。


MVP 的 M 是 Minimum,不是 Maybe。先把該做的做好,其他的等活下來再說。

延伸閱讀