国产成人a∨激情视频厨房,国产v亚洲v欧美v精品综合,heyzo高无码国产精品,国产av导航大全精品,成品人视频ww入口

搶購時,用異步隊列處理下單,那怎么實時把下單結(jié)果通知用戶呢??

搶購時,用異步隊列處理下單,那怎么實時把下單結(jié)果<愛尬聊_頭條百科>通知用戶呢?


u_110wuai698 21小時前

client端用js輪詢一個接口,用來獲取處理狀態(tài)


testtesttestTY 21小時前

搶購最重要的是要保證庫存數(shù)據(jù)的強一致性,搶購的瞬時流量非常大,如果使用MySql等一些關(guān)系型數(shù)據(jù)庫可能會扛不住這方面的壓力。一般會結(jié)合緩存中間件進行處理,例如redis。搶購開始前,將商品和庫存數(shù)據(jù)同步到redis中,所有的搶購操作都在redis中進行處理,后臺開啟一個異步任務(wù),定時的將庫存數(shù)據(jù)刷到數(shù)據(jù)庫中。跟著開始對訂單進行付款,由于流量較大,第三方支付系統(tǒng)本身也對調(diào)用端的應(yīng)用限制流量,所以你這邊所說的應(yīng)該是我接下來需要描述的。這里必然要使用消息隊列(也就是你所說的異步隊列),可以參考淘寶雙11的限流措施,為了保護系統(tǒng)不受高流量的沖擊而導(dǎo)致系統(tǒng)崩潰的問題,消息隊列做了一層緩沖保護,系統(tǒng)需要設(shè)計一個窗口模型,窗口模型會實時的刷新用戶辦理手續(xù)的狀態(tài)。例如,用戶下單之后準(zhǔn)備去付款,這個時候會跳到辦事大廳的服務(wù)窗口,如果此時窗口都滿了,也就是消費者的數(shù)量達到上線了,那么需要用戶開始排隊,系統(tǒng)可以通過彈出等待窗口,讓用戶等待一下,一旦有空閑的線程釋放出來,用戶就可以開始支付下單。上面的是以拍下減庫存的模型進行說明,如果你們設(shè)計的系統(tǒng)是付款減庫存,稍微會有些出入,但是同樣也需要這樣的窗口需要告知用戶狀態(tài),及時用戶付款成功,雖然沒及時把狀態(tài)返回給用戶,用戶能夠通過一個頁面及時查看到他的窗口狀態(tài)就可以了。


編輯 舉報 2023-06-12 13:56

0個評論

暫無評論...
驗證碼 換一張
相關(guān)內(nèi)容