想請問一下有大大遇過關於抽獎的問題嗎?
若多人同時抽獎 且獎項有數量時
要如何去判斷獎項的數量剩餘多少
如獎項數量為2個
A B C 三人同時抽獎 A抽完-1 B抽完-1 正常來說C應該要抽不到
可是假如同時抽的話,會同時間A-1 B-1的情況發生
想請問什麼時間點計算獎項數量比較好
你可以使用 如果是單機可以使用 lock
or CAS
解決你的問題.
如果是多台Server看你的請求量 簡單處理可以使用 DB Isolation & lock
高併發就是另外的問題了....
我這邊有對於 lock
and CAS
寫篇文章你可以參考
https://isdaniel.github.io/high-concurrency-atomic-cas-algorithm/
我的想法是....何謂同時抽?
時間欄位精細度高的狀態下,應該不太有機會同一個時間處理兩個抽獎~
也就是一次只需處理一個抽獎且立馬將數量扣掉換給下一個。
如果真有同時狀況,我想知道什麼狀況下可以同時抽~以及坐等其他大大提供解法XD