體育後台系統
- 大型資料查詢效能優化:針對配置資料持續累積造成查詢超過 15 秒甚至 Timeout 的問題,在不調整既有 Table Structure 的限制下,透過 XXL-JOB 清理無效資料,並將 GROUP BY 去重改為 ROW_NUMBER() 分組取值,將查詢時間縮短至 5 秒內。
- API 架構重構:將前端原先約 40 支 API 整合為單一聚合 API,透過多執行緒平行處理各項資料查詢與運算,簡化前後端整合及後續功能擴充。
- 尖峰流量處理:使用 RocketMQ 暫存可延遲處理的非核心資料更新,搭配 Consul 動態開關控制尖峰期間延遲入庫、離峰恢復消費,降低高流量期間非核心更新對系統資源的競爭。
- 分散式問題排查:處理多個微服務 Consumer 因訊息消費時序差異造成的資料異常,透過 Kibana Log 追蹤跨服務訊息流向與資料狀態,定位非同步鏈路中的時序問題。
- 球種規則架構設計:將不同球種、玩法及賽事階段的規則獨立封裝,透過泛型建立統一規則取得介面,避免判斷邏輯散落於主流程並提升規則擴充性。