首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

電商產品設計知乎精華總結:B2B2C 後台統計、千萬級架構、商品規格建模、詳情頁儲存、對賬體系

     編輯:PHP 相關知識

電商產品設計知乎精華總結:B2B2C 後台統計、千萬級架構、商品規格建模、詳情頁儲存、對賬體系

整理自知乎高票回答,涵蓋 B2B2C 平台後台統計模組設計、PHP+MySQL 千萬級架構演進、商品多規格/多價格/多庫存建模、商品詳情頁非結構化資料儲存演進、對賬與權限體系等核心主題,適合產品經理、架構師、後端工程師參考。

主題一:B2B2C 平台後台統計模組設計

王於萍: 先設計需求與流程,再定資料表。供應商管理產生地區、類目資料,可用於推薦統計。
PalmWong: 三大角色三套統計視角:
1. 消費者 (C端): 個人消費統計 (訂單、收藏、足跡)。
2. 平台運營: 全站 GMV、轉化率、留存、商家經營健康度、類目結構分析。
3. 商家 (B端): 店鋪流量、轉化、客單價、復購、庫存周轉、推廣 ROI。
關鍵提醒: BBC 業務極複雜,角色變化導致資料交互極多,對賬、權限、異常情況多,不可照搬天貓模式。

主題二:PHP+MySQL 千萬級日訪架構演進

Dion: 語言非關鍵,架構為王。
分層架構:
- 前端/CDN: 靜態資源 (圖片、JS、CSS) 走 CDN,Nginx 做負載均衡、靜態快取、限流。
- 應用層集群: PHP-FPM 無狀態水平擴展,Session 存 Redis/資料庫、或 JWT 無狀態。
- 資料層: MySQL 主從 + 讀寫分離,熱點資料 Redis/Memcached 集群。百萬級以上考慮 NoSQL (Cassandra/DynamoDB) 存寬表/日誌。
socici 細化資料流:
- 靜態檔 → 獨立域名 static.xxx.com → Nginx 直接服務。
- 讀請求:大數據查詢 (訂單) → Slave;公共頁面 (排行榜、商品資訊) → Cache。
- 寫請求:即時生效 (用戶資料) → Master 同步寫;低即時/高併發 (發文、私信) → 隊列異步寫。

主題三:商品多規格/多價格/多庫存建模 (核心難點)

提問者原始設計: 規格表、規格值表、規格庫存表 (用規格值 ID 組合字串做主鍵),順序固定,統計痛苦。
socici 改良方案 (規範化):

-- 1. 商品分類
category (id, name, parent_id)

-- 2. 商品主表 (SPU)
product (id, name, price, status, category_id, ...)

-- 3. 規格定義 (屬性名)
spec (id, name)  -- 如: 顏色、尺碼、運營商

-- 4. 規格值 (屬性值)
spec_value (id, spec_id, value, type, default_value) -- 如: 紅/藍、S/M/L、電信/移動

-- 5. 分類-規格關聯 (決定該分類下商品可用哪些規格)
category_spec (category_id, spec_id)

-- 6. 商品-規格值關聯 (SKU 定義)
product_spec (product_id, spec_id, spec_value_id, actual_value) 
-- actual_value 允許商家自定義顯示值 (如 "寶藍色" 而非標準 "藍")

-- 7. 庫存/價格表 (SKU 級別)
sku_stock (product_id, spec_value_combination, price, stock, sku_code)
-- spec_value_combination 可存 JSON: [{"spec_id":1,"value_id":10},{"spec_id":2,"value_id":20}]
-- 或維度表: sku_spec (sku_id, spec_id, spec_value_id)

關鍵優勢: 規格與值解耦、支援動態新增規格、統計時可按 spec_id 聚合、SKU 級別價格庫存獨立、前端渲染規格選擇器邏輯清晰。

主題四:類似淘寶商品詳情頁非結構化資料儲存演進

劉傳雙/子柳 歷史演進:

  1. 早期 (單表 CLOB): 商品表含 description CLOB 存 HTML 片段,查詢效率極差。
  2. 2005 拆表: 將描述獨立表 item_desc (item_id, content),大幅降低主表壓力。
  3. 2006 引入快取: 描述放入分散式快取 (Tair/Redis),Cache Miss 才落 DB。
  4. 2007 TFS (淘寶分散式檔案系統): 徹底移出 DB,描述存為小檔案,DB 僅存檔案 ID。圖片 <img src> 寫入前替換為 TFS 路徑。

核心原則: 結構化資料 (價格、庫存、屬性) 留 RDBMS/NoSQL;非結構化 (圖片、富文本、交易快照) 存檔案系統/物件存儲,DB 存引用 ID。

主題五:電商對賬與權限體系要點

  • 多角色權限: 平台運營 > 商家管理員 > 商家客服 > 供應商 > 買家,需細顆粒度 RBAC (資源級、資料級)。
  • 資金對賬: 訂單流水 vs 支付流水 vs 結算流水,每日/每小時跑批核對,差異入異常表人工介入。
  • 庫存對賬: 實體庫存 vs 系統可售庫存 vs 凍結庫存,定期盤點校準。
  • 異常單處理: 超時未支付、支付成功未建單、退款失敗、拆單/合單邏輯一致性。

給產品/架構的行動清單

階段關鍵動作
需求澄清畫出完整業務流程圖、角色權限矩陣、資料流向圖
資料建模SPU/SKU 規範化、規格/值解耦、非結構化資料外移
架構演進CDN → Nginx → PHP 集群 → Redis → MySQL 主從 → 隊列異步 → NoSQL 擴展
核心保障對賬體系、冪等設計、分散式鎖、限流降級、全鏈路追蹤
持續優化慢查詢治理、快取命中率、資料歸檔、讀寫分離比例調整
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved