秒殺系統(tǒng)搭建

秒殺是電商平臺最常用的促銷活動,例如京東淘寶等主流電商平臺把秒殺、搶購作為一個功能入口存在,定期秒殺。其產(chǎn)品定位在于通過低價促銷吸引對價格敏感的用戶,起到引流促活,且?guī)愉N售。
如下是京東、淘寶的秒殺頁面。

那么一個秒殺系統(tǒng)如何搭建?前后端功能如何配合,都說“前端一小步,后端一大步”,對于C端來說,價格、商品吸引人,我能到特定時間去搶購、付款就可以了,那么后端如何做相應的功能支撐呢,下面我具體的闡述一下。

一、秒殺架構

秒殺架構

從此架構看出,一個秒殺完整的系統(tǒng)搭建,后端需要有商家報名參與入口、秒殺活動的設置、后臺秒殺活動、訂單管理

二、 商家報名流程

平臺可以給商家提供這樣的功能入口,一旦商家有意愿做秒殺活動,可以發(fā)起由平臺審核,審核通過即可上架


商家報名流程.png
  • 商家是否滿足要求:是否對參與商家設置門檻,比如經(jīng)營較好,店鋪綜合評分較高的店鋪方可參與
  • 提報商品是否滿足:比如此商品設置價格合理,是否是違規(guī)商品等

這里我只簡單論述,具體需根據(jù)每個企業(yè)特性進行考量

三、秒殺活動設置

秒殺活動設置.png
  1. 活動信息:包括秒殺時間、渠道、秒殺模板(不會做圖的商家可提供模板套用)
  2. 活動限制條件:每個用戶的限制購買次數(shù)、購買數(shù)量等
  3. 活動商品:設置活動商品價格、庫存、時間段等

四、秒殺搶購

對于C端用戶參與秒殺,要考慮用戶的需求點

  • 首先肯定是價格商品吸引用戶
  • 其次活動預熱是否充分,可設置提醒、同時活動開始時候庫存是否充足,是否超過限購數(shù)量,售完是否可以原價購買等

下面是我自己整理的秒殺流程,僅供借鑒

秒殺搶購流程.png

五、技術層面實現(xiàn)

這部分也是參考一些大神的博客得出的一些技術層面的心得,可能不是很恰當,希望大家指正

1. 前端高并發(fā)

前端常用的方法是【擴容】【靜態(tài)化】【限流】

擴容:加機器,這是最簡單的方法,通過增加前端池的整體承載量來抗峰值。
舉個通俗的例子:比如我想運送100棵樹木,我準備兩輛卡車,一輛運50,計算公式就是2輛X50棵/輛X1小時=100棵/小時,那如果我需要搬運更多的樹木,我可以通過增加車輛、也可以增加每輛車的運輸量、或者縮短運輸時間。這就是擴容的概念

靜態(tài)化:將活動頁面上的所有可以靜態(tài)的元素全部靜態(tài)化,并盡量減少動態(tài)元素。通過CDN來抗峰值。

限流:一般都會采用IP級別的限流,即針對某一個IP,限制單位時間內發(fā)起請求數(shù)量。或者活動入口的時候增加游戲或者問題環(huán)節(jié)進行消峰操作。
有損服務:最后一招,在接近前端池承載能力的水位上限的時候,隨機拒絕部分請求來保護活動整體的可用性。

2. 后端如何解決

方案:本地標記 + redis預處理 + RabbitMQ異步下單 + 客戶端輪詢

實現(xiàn):

  1. 在秒殺階段使用本地標記對用戶秒殺過的商品做標記,若被標記過直接返回重復秒殺,未被標記才查詢redis,通過本地標記來減少對redis的訪問
  2. 搶購開始前,將商品和庫存數(shù)據(jù)同步到redis中,所有的搶購操作都在redis中進行處理,通過Redis預減少庫存減少數(shù)據(jù)庫訪問
    3、為了保護系統(tǒng)不受高流量的沖擊而導致系統(tǒng)崩潰的問題,使用RabbitMQ用異步隊列處理下單,實際做了一層緩沖保護,做了一個窗口模型,窗口模型會實時的刷新用戶秒殺的狀態(tài)。
    4、client端用js輪詢一個接口,用來獲取處理狀態(tài)

關于技術層面引用的的文章鏈接:
https://blog.csdn.net/moakun/article/details/80547135
https://blog.csdn.net/weixin_30894583/article/details/97935776

六、總結

以上是自己對于設計秒殺系統(tǒng)的思路,不喜勿噴,如果大家有更多的思路希望和我多多交流,不斷補充

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 來源:陶邦仁 鏈接:http://my.oschina.net/xianggao/blog/524943 0 系列...
    meng_philip123閱讀 3,643評論 0 65
  • #0 系列目錄# 秒殺系統(tǒng)架構 秒殺系統(tǒng)架構分析與實戰(zhàn) #1 秒殺業(yè)務分析# 正常電子商務流程 (1)查詢商品;(...
    Java架構師Carl閱讀 1,647評論 0 8
  • 什么是秒殺 通俗一點講就是網(wǎng)絡商家為促銷等目的組織的網(wǎng)上限時搶購活動 比如說京東秒殺,就是一種定時定量秒殺,在規(guī)定...
    zwb_jianshu閱讀 722評論 0 1
  • 什么是秒殺 通俗一點講就是網(wǎng)絡商家為促銷等目的組織的網(wǎng)上限時搶購活動 比如說京東秒殺,就是一種定時定量秒殺,在規(guī)定...
    zwb_jianshu閱讀 614評論 0 0
  • (一) 古老的日晷被歲月磨損, 銅壺滴漏漏不盡千年的滄桑。 霓虹燈里流竄著光陰, 時光球里刻下過誰的身影? (二)...
    二月輕寒閱讀 268評論 0 4

友情鏈接更多精彩內容