在一段程式碼中,同時對mysql,redis,mongodb進行了操作,怎麼能保證這幾個資料庫之間資料的一致性呢?
例如msyql保存字段A,redis保存字段B,mongodb保存字段C,如何確保ABC同時成功或失敗
在一段程式碼中,同時對mysql,redis,mongodb進行了操作,怎麼能保證這幾個資料庫之間資料的一致性呢?
例如msyql保存字段A,redis保存字段B,mongodb保存字段C,如何確保ABC同時成功或失敗
雖然操作是同時的,但是每個資料庫在處理時不一樣,並不能保證他們都成功。
可以當三個處理都成功時,才算最終的成功,有一個失敗,就當成失敗。
這個設定是這樣沒錯?
我想redis跟mysql的事務比較好操作,插入前開啟事務mongodb操作成功在一起commit吧,rollback一起rollback
因為涉及到三種類型的資料庫,所以應該是沒有現成的XA協定,來保證各個資料庫的強一致性。所以可以退而求其次,保證最終一致性.
分散式事務1
分散式事務2