0
我試圖寫入3個不同的數據庫:MySQL,Oracle和MongoDB。要求所有3個數據庫應處於一致狀態。例如,如果寫入MySQL和Oracle成功,並且mongo失敗(例如網絡故障),那麼應該有辦法將失敗的記錄寫回mongo以保持所有3個記錄的一致性。什麼是最好的方法來做到這一點?我應該實現一個隊列來存儲失敗的記錄,並有一些後臺進程來從隊列中讀取記錄並嘗試再次將它寫入失敗的數據庫?分佈式數據庫事務
我試圖寫入3個不同的數據庫:MySQL,Oracle和MongoDB。要求所有3個數據庫應處於一致狀態。例如,如果寫入MySQL和Oracle成功,並且mongo失敗(例如網絡故障),那麼應該有辦法將失敗的記錄寫回mongo以保持所有3個記錄的一致性。什麼是最好的方法來做到這一點?我應該實現一個隊列來存儲失敗的記錄,並有一些後臺進程來從隊列中讀取記錄並嘗試再次將它寫入失敗的數據庫?分佈式數據庫事務
你最好打賭可能是Java Transaction API (JTA)。我沒有親自使用它,但它似乎是分佈式事務的Java「行業標準」。
用戶,你是指2階段提交?唯一的麻煩是我不確定如何在整個分佈式事務中涉及mongodb,因爲它並不真正支持自動分佈式事務 –