促銷系統的主要作用:主要提供商品的促銷優惠價格,如果該商品沒有促銷,就提供商品的原價。
促銷類型:
- 直降促銷:限時直降,限時限量直降
- 滿額促銷:滿減,滿折
- 套裝促銷 (多個商品一起買,N個商品享受優惠
- 贈品(買N贈N)
- 秒殺
促銷規則:
限制條件:
- 商品限制:SKU,SPU,品類,品牌,商家
- 用戶限制:pin
- ip限制
由於促銷提供商品的價格,當用戶每次瀏覽商品頁面,可能對促銷系統的訪問多達幾十次,所以對促銷的高並發要求非常高。
為了及時響應前端的請求,讀取數據,計算都應該盡量的快和簡單。
由於都是查詢操作,Redis對於讀操作響應特別的快。
如何保證促銷數據的實時性了?
當促銷更改(直降價格,滿減價格,限制條件 ),商品更改(商品的品類更改,價格更改),如果快速更新Redis的實時數據?
如何通過SOLR快速更新Redis?
Solr促銷數據存儲結構:
使用solr的倒排索引原理,可以通過商品信息快速找到當前商品有哪些促銷,或者通過促銷ID找到當前促銷有那些商品限制,從而達到快速更新Redis中的商品促銷信息。
價格計算流程:
促銷系統整體架構: