我有一個數據庫服務器(MySQL)。客戶之間的數據同步
這包含產品表。產品表的一個領域是剩餘數量。
我有幾個客戶(約10),將查詢剩餘的量,同時下訂單。一旦下訂單,剩餘數量將根據訂單減少。
當數量很少時,我會遇到一個問題:例如,如果剩餘數量爲「10」,並且client1正在爲8數量創建訂單(訂單尚未放置,但僅在過程中),並且client2將訂單5數量,那麼下訂單的客戶將失敗。
我想提高系統使得當一個客戶端是在訂購的過程中,那麼其他客戶端應該只顯示(剩餘量 - 客戶端1訂單數量)。起初,我想盡快在訂單表中輸入剩餘數量,但是當訂單被取消或者下訂單的計算機斷電/墜毀時,這會產生問題。
請建議我一些合適的算法有效地處理這種情況..每當訂單正在處理中,所有其他客戶端應該只看到(剩餘數量 - 爲了正在進行的數量)。