回覆列表
-
1 # 繆斯的水瓶座
-
2 # 吳得閒
超賣一般是秒殺系統設計得不完美。具體來說就是因為短時間內對資料庫的操作過於頻繁,併發的操作太多,可能有兩個或以上的操作同時處理同一件庫存,這樣就會賣超。
因為秒殺活動的環境跟一般出售商品不同,減庫存這種方法是不能依賴的,所以現在設計的秒殺系統基本都不會像上邊兩位說的靠減庫存(這樣的話幾乎全部會賣超)。一些B2C的秒殺架構是給每個庫存一條單獨的資料庫記錄,用一個欄位表示“是否售出”。這樣很多操作同時進來資料庫,只要遍歷所有庫存,找一個未售出的庫存上鎖,然後慢慢處理即可。可以大大減少超賣的情況。
淘寶的超賣。。。估計是就算設計成這樣還是扛不住巨大的流量吧。。。
任何演算法和架構都頂不住巨量的資料這是真理
所以基本上遇到這種情況只能遵循平臺的處置規則,目前國家還沒有針對這種情況立法。
超賣一般是秒殺系統設計得不完美。具體來說就是因為短時間內對資料庫的操作過於頻繁,併發的操作太多,可能有兩個或以上的操作同時處理同一件庫存,這樣就會賣超。
因為秒殺活動的環境跟一般出售商品不同,減庫存這種方法是不能依賴的,所以現在設計的秒殺系統基本都不會像上邊兩位說的靠減庫存(這樣的話幾乎全部會賣超)。一些B2C的秒殺架構是給每個庫存一條單獨的資料庫記錄,用一個欄位表示“是否售出”。這樣很多操作同時進來資料庫,只要遍歷所有庫存,找一個未售出的庫存上鎖,然後慢慢處理即可。可以大大減少超賣的情況。
淘寶的超賣。。。估計是就算設計成這樣還是扛不住巨大的流量吧。。。
任何演算法和架構都頂不住巨量的資料這是真理
所以基本上遇到這種情況只能遵循平臺的處置規則,目前國家還沒有針對這種情況立法。