0
我有一個MySQL數據庫產品的價格,從現在開始,我想與這些值同步另一個數據庫,但這個其他數據庫不在我的服務器上,我只能通過web服務更新它...以原子方式調用Web服務?
有沒有辦法讓這兩個操作(更新我的數據庫和調用Web服務的其他數據庫更新)原子?我不想知道某一天,當服務器嘗試調用Web服務來更新它時,第二個數據庫已關閉,因此它不具有與當前數據庫相同的值。順便說一下,我使用的是PHP。
非常感謝。
我有一個MySQL數據庫產品的價格,從現在開始,我想與這些值同步另一個數據庫,但這個其他數據庫不在我的服務器上,我只能通過web服務更新它...以原子方式調用Web服務?
有沒有辦法讓這兩個操作(更新我的數據庫和調用Web服務的其他數據庫更新)原子?我不想知道某一天,當服務器嘗試調用Web服務來更新它時,第二個數據庫已關閉,因此它不具有與當前數據庫相同的值。順便說一下,我使用的是PHP。
非常感謝。
你這些問題的答案可以幫助思考的最佳解決方案 -
或者是像個別價格可以編輯和相同的變化對任取兩個效應或沒有(如果第2個服務器關閉)?
你想做些什麼的情況下做第二個服務器壞了,回滾第一臺服務器上的變化?
如果Web服務提供迴應 - 無論是否成功更新其產品價格,事情都非常簡單。這裏是使其顯得原子的一種方式 -
price_backup
並在所有項目的價格都存儲在表lock_item
。lock_item
= true
,使得項目不能在該時間期間(以防止inconsistensies)購買。price_backup
字段中,然後調用Web服務來更新並檢查響應。lock_item
,或者乾脆復位鎖定。該方法確保跨服務器相同的值。但是,可能會有更好的方法