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