本次和大家分享的是一篇關(guān)于搶購活動的流程設(shè)計,界面設(shè)計簡單,不過重點在于商品如何實現(xiàn)搶購的功能(搶購商品線上測試);本次采用的簡單架構(gòu)是:MVC+Redis(存儲,隊列)+Task.MainForm(神牛任務(wù)管理器),由于精力有限這里沒有涉及到數(shù)據(jù)庫方面的操作,全程利用redis來存儲發(fā)布的商品和搶購隊列,Task.MainForm是自己再之前開源的服務(wù)框架,目前這個服務(wù)有兩種開源版本:netcore版本(TaskCore.MainForm)和winform版本(Task.MainForm);馬上就3.8節(jié)日了,雖然我不過,但是各位朋友的另一半或者就是您可能會過節(jié)日吧,為了預(yù)祝您節(jié)日快樂,這里推薦一下媳婦開的服裝店:神牛衣柜3,新款上市多多優(yōu)惠哦;本章內(nèi)容希望大家能夠喜歡,也希望各位多多"掃碼支持"和"推薦"謝謝!
? 搶購活動手繪流程圖
? 分析搶購按鈕做的事情和代碼
? 怎么用Task.MainForm在后臺處理隊列搶購訂單
? 發(fā)布時遇到的問題
下面一步一個腳印的來分享:
? 搶購活動手繪流程圖
首先,要明確的是對于一個搶購活動來說,用戶在搶購的時候,需要嚴格控制搶購成功的商品數(shù)量,這里因此采用了隊列的方式來處理,由于本次測試用例是針對發(fā)布多個商品都可以進行搶購活動,所以在后臺處理采用了多任務(wù)的方式來處理(一種搶購商品一個任務(wù)處理搶購隊列);其次需要在搶購成功時候通知用戶,通常在頁面中提示搶購成功或者訂單號之類的(這里由于最初設(shè)計使用websocket實現(xiàn),由于精力有限才有最直接在前端setInterval的查詢方式,即如