我想知道對於速度和精度做到這一點的最好辦法,這是我們的應用程序的功能:高併發計數器(信用管理)
- 檢查信用卡是1或以上(預檢查)
- 處理作業(需要一點時間)
- 工作完成後,檢查是否仍然存在學分,完成作業(積分數1或以上)
- 扣除信用
- 完成工作
該過程重複50,000次以上(使用隊列系統進行線程化),並且當前正在使用mysql數據庫來處理計數器。
除了mysql數據庫樣式計數器之外,還有更好的解決方案嗎?
我想喜歡的模式:
user_id | credit_count
這是我應該用最好的模式? 線程只是鎖定行而不是扣除信用,而不是釋放下一個線程的行。
該應用程序在JAVA中,並且還在其他服務器上運行它的多個實例。此外它的重要性在於知道用戶在開始該過程之前是否還有任何信用。 – James 2011-02-24 12:20:43