經典的生產者 - 消費者問題。使用SQL Server和ASP.NET的生產者 - 消費者問題
我有x個應用程序服務器在DB表(相同的數據庫)中寫入記錄。
在每臺服務器上運行一個服務,該服務輪詢數據庫表,應該讀取最舊的條目,處理它並刪除它。 現在的問題是服務進入競爭狀態:服務器A上的服務開始讀取,服務器B開始讀取相同的記錄。我有點卡住這個......我經常實施生產者 - 消費者,但從來沒有跨越服務器壁壘。
除了在數據庫之外,服務器不能相互通話。
環境是SQL Server 2005和ASP-NET 3.5。
如何在表中添加處理標誌以有效鎖定行,以便在特定服務器正在處理該行時進行處理。 – Andrew 2011-03-01 07:56:55