1 簡介
事務在單系統中的表現:多次數據庫操作用事務進行管理,來保證ACID原則。
但是如果各個模塊都是單獨獨立出來的微服務,進行了分布式部署,單系統里的事務將不能保證各個數據庫操作的一致性,因此就需要分布式事務來進行統一管理。要么全部成功執行,要么全部不執行。
2 2PC
2.1 原理
分布式事務:兩階段提交與三階段提交 中的 兩階段提交協議(2PC:Two-Phrase Commit)
中的 第一階段:投票階段
和 第二階段:事務提交階段
2.2 缺點
分布式事務:兩階段提交與三階段提交 中的 兩階段提交協議(2PC:Two-Phrase Commit)
中的 缺點: 單點問題 同步阻塞 數據不一致性
2.3 代碼實現
分布式–3.1–分布式事務_2PC代碼實現
3 3PC
3.1 原理
2PC的兩個階段解釋3PC的后兩個階段。3PC比2PC多一個CanCommit階段 并 多了超時提交機制。
分布式事務:兩階段提交與三階段提交 中的 三階段提交協議(2PC:Three-Phrase Commit)
中的 第一階段:can_commit
、第二階段:pre_commit
和 第三階段:do_commit
3.2 缺點
分布式事務:兩階段提交與三階段提交 中的 三階段提交協議(2PC:Three-Phrase Commit)
中的 最后
3.3 代碼實現
pass