技術(shù)棧:
后端:Spring Boot 2.7 + Spring Cloud Alibaba(Nacos注冊(cè)中心、Sentinel限流)
數(shù)據(jù)庫:MySQL 8.0(分庫分表) + Redis 6(緩存)
中間件:RocketMQ 4.9(消息隊(duì)列) + Elasticsearch 7.16(商品搜索)
其他:MyBatis-Plus 3.5、JWT鑒權(quán)、Swagger API文檔
核心功能模塊
高并發(fā)訂單處理
采用RocketMQ實(shí)現(xiàn)異步削峰,訂單創(chuàng)建后推送至消息隊(duì)列,由獨(dú)立服務(wù)消費(fèi)并落庫
基于Redis+Lua腳本實(shí)現(xiàn)分布式鎖,防止超賣(庫存扣減原子性操作)
智能商品推薦
基于用戶行為埋點(diǎn)數(shù)據(jù)(Elasticsearch存儲(chǔ)),實(shí)現(xiàn)協(xié)同過濾推薦算法
實(shí)時(shí)計(jì)算模塊使用Flink處理點(diǎn)擊流,生成用戶偏好標(biāo)簽
接口響應(yīng)時(shí)間優(yōu)化至200ms內(nèi)(通過Guava本地緩存熱點(diǎn)商品)
分布式事務(wù)解決方案
訂單支付采用Seata AT模式,保證"扣庫存→生成訂單→記錄流水"的事務(wù)一致性
異常場(chǎng)景通過RocketMQ事務(wù)消息實(shí)現(xiàn)最終一致性補(bǔ)償
個(gè)人角色與貢獻(xiàn)
擔(dān)任核心開發(fā),主導(dǎo)訂單服務(wù)與庫存服務(wù)模塊
設(shè)計(jì)分庫分表方案:按用戶ID哈希分片,歷史訂單歸檔至ClickHouse
性能優(yōu)化:
使用Redisson實(shí)現(xiàn)分布式鎖優(yōu)化,QPS從800提升至3500
通過布隆過濾器攔截?zé)o效商品查詢請(qǐng)求,降低DB壓力30%
安全設(shè)計(jì):
實(shí)現(xiàn)防重放攻擊機(jī)制(請(qǐng)求唯一ID+時(shí)間戳簽名)
敏感數(shù)據(jù)加密存儲(chǔ)(采用國(guó)密SM4算法)
項(xiàng)目成果
支撐日均50萬訂單量,峰值TPS達(dá)4200,系統(tǒng)可用性99.99%
促銷期間庫存準(zhǔn)確率100%,未發(fā)生超賣事故
獲公司年度技術(shù)創(chuàng)新獎(jiǎng),代碼貢獻(xiàn)度占比38%