Skip to content

生鮮電商微服務系統開發實戰

概述

本實戰項目要求你圍繞一份真實的 PRD,從零完成一個生鮮電商微服務系統。與前面的單服務項目不同,這個項目的後端按業務拆分成多個獨立服務,通過 API 網關統一對外。你將學習如何設計服務邊界、如何處理跨服務的資料一致性問題。

這是 Stage 2 的綜合實戰環節。微服務架構在實際工作中非常常見,掌握服務拆分和網關路由的基本思路後,你能夠應對更復雜的後端系統設計。

前置知識

在開始本項目之前,你應該已經掌握以下內容:

學習目標

完成本實戰後,你將能夠:

  1. 閱讀 PRD 並提取微服務系統的開發任務清單
  2. 按業務領域拆分服務邊界(鑑權、商品、庫存、訂單)
  3. 設計和實現 API 網關路由
  4. 處理庫存扣減和訂單一致性等跨服務問題
  5. 完成端到端聯調,交付可演示的微服務原型

項目簡介

你要構建的產品是一個生鮮電商微服務系統:

子系統職責
用戶端瀏覽商品、下單、查看訂單
管理端商品管理、庫存管理、訂單管理

後端按業務拆分為以下服務:

服務職責
API Gateway統一入口、路由轉發、鑑權校驗
Auth Service用戶註冊、登錄、JWT 頒發
Catalog Service商品資訊管理
Inventory Service庫存數量管理
Order Service訂單創建、狀態管理

PRD 入口

本項目的需求文檔在 GitHub: 查看 PRD

第一部分:需求分析

1.1 閱讀 PRD

打開 PRD 文檔,重點回答以下問題:

  • 服務如何拆分?每個服務的職責邊界是什麼?
  • 前臺和管理端分別有哪些頁面?
  • 下單後庫存扣減的策略是什麼?成功 / 失敗 / 超時各怎麼處理?
  • 第一版哪些複雜能力(如分佈式事務、消息隊列)先不做?

WARNING

如果以上問題沒有明確答案,不要開始寫程式碼。需求理解不清楚是導致返工的最常見原因。

1.2 確認系統架構

mermaid
flowchart TD
  prd["PRD"] --> fe["前端頁面"]
  fe --> gw["API Gateway"]
  gw --> auth["Auth Service"]
  gw --> catalog["Catalog Service"]
  gw --> inventory["Inventory Service"]
  gw --> order["Order Service"]
  order --> inventory

第二部分:搭建項目骨架

2.1 生成項目結構

提示詞參考:

text
請基於當前 PRD,幫我生成一個生鮮電商微服務系統的項目骨架。

要求:
1. 生成前端用戶端和管理端骨架
2. 生成 api-gateway、auth-service、catalog-service、inventory-service、order-service 五個目錄
3. 每個服務先只做最小可運行入口
4. 先不接真實資料庫和支付

2.2 驗證項目結構

逐項檢查:

  • [ ] 五個服務目錄結構清晰
  • [ ] API Gateway 可以啟動並轉發請求
  • [ ] 各服務健康檢查接口可用
  • [ ] 前端用戶端和管理端頁面可訪問

第三部分:迭代開發

3.1 按模塊推進

  1. API Gateway:路由配置、JWT 校驗中間件
  2. Auth Service:註冊、登錄、JWT 頒發
  3. Catalog Service:商品 CRUD、列表查詢
  4. Inventory Service:庫存查詢、庫存扣減
  5. Order Service:訂單創建、狀態流轉、庫存聯動
  6. 管理端:商品管理、庫存管理、訂單管理

3.2 模塊自檢

檢查項驗證方法
網關路由各服務接口是否通過網關正確轉發
權限隔離用戶端和管理端接口是否隔離
資料一致商品和庫存資料是否同步
交易閉環下單後庫存扣減、訂單狀態是否一致
失敗處理庫存不足或超時時是否有補償機制

第四部分:聯調與上線

4.1 端到端測試

至少驗證以下場景:

  • 瀏覽商品 → 加入購物車 → 下單 → 查看訂單
  • 管理員 → 添加商品 → 更新庫存 → 查看訂單

交付物

完成本項目後,你需要提交以下內容:

  • [ ] 可訪問的線上演示鏈接
  • [ ] 源碼倉庫鏈接(含 README)
  • [ ] PRD 文檔
  • [ ] 核心頁面截圖(商品列表、下單頁、訂單頁、管理後臺)
  • [ ] 60 秒演示影片

評分標準

維度基本要求進階要求
PRD 對齊頁面、功能、服務拆分基本符合 PRD能清晰說明服務拆分的理由
產品閉環瀏覽 → 下單 → 庫存扣減 → 查看訂單可跑通訂單超時或庫存不足有補償機制
服務架構各服務可獨立啟動,通過網關統一訪問服務間通信有錯誤處理和重試
後臺能力商品、庫存、訂單管理可操作管理端有資料統計
工程完整度前端、網關、服務、資料庫鏈路已接通有 Docker Compose 或類似編排

參考資料