秒殺活動java怎么實現


秒殺與其他業務最大的區別在於:秒殺的瞬間:

(1)系統的並發量會非常的大

(2)並發量大的同時,網絡的流量也會瞬間變大。

一個秒殺或者搶購頁面,通常分為2個部分,一個是靜態的HTML等內容,另一個就是參與秒殺的Web后台請求接口。

  第一種處理:某個商品可秒殺的數量是10,那么在秒殺活動開始之前,把商品的ID和數量加載到緩存,比如:Redis。服務端收到請求的時候,首先減一下Redis里面的數量,如果數量減到0隨后的訪問直接返回秒殺失敗。也就是說,只有10個請求最終會去實際的請求DB。

  第二種處理:先把請求寫到消息隊列,做一個緩存,然后再去慢慢的更新數據庫。這樣做以后,前端用戶的請求可能不會立即得到響應是成功還是失敗,很可能得到的是一個排隊中的返回值,這個時候,需要客戶端再去服務端輪詢,因為我們不能保證一定就秒殺成功了。當服務端出隊,生成訂單以后,把用戶ID和商品ID寫到緩存中,來應對客戶端的輪詢就可以了。

相關問題:https://blog.csdn.net/icangfeng/article/details/81201575


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM