1、at模式
2、tcc模式
3、saga模式
at 模式基於 支援本地 acid 事務 的 關係型資料庫:
相應的,tcc 模式,不依賴於底層資料資源的事務支援:一階段 prepare 行為:在本地事務中,一併提交業務資料更新和相應回滾日誌記錄。
二階段 commit 行為:馬上成功結束,自動 非同步批量清理回滾日誌。
二階段 rollback 行為:通過回滾日誌,自動 生成補償操作,完成資料回滾。
另外,我也自己總結了乙份我認為這兩種模式的差別點(具體差別點導致的原因,留到後續再進行討論)一階段 prepare 行為:呼叫 自定義 的 prepare 邏輯。
二階段 commit 行為:呼叫 自定義 的 commit 邏輯。
二階段 rollback 行為:呼叫 自定義 的 rollback 邏輯。
attcc
全域性鎖需要
不需要回滾日誌
需要不需要
commit/cancel階段**實現
不需要需要
是否需要開發者解決懸掛和空回滾問題
不需要需要
效能低(需要全域性鎖導致)
高(無鎖)
seata分布式事務
分布式事務使用,組長有話說 1 跨服務呼叫的 兩邊都有改資料或新增資料的 都要加上本地事物 並且 發起方要加上 分布式事物 千萬別忘了啊 2 尤其是 呼叫mq的時候 3 我把用到mq的地方都加了分布式註解,漏的你們看一下。portal的託運單,確認下單後,先同步到oms,再從oms同步到tms 1....
seata 分布式事務
seata 是乙個分布式事務解決方案,內建了對at xa tcc saga的支援,主要由tc tm rm三類角色,tc 事務協調器 作為服務端,tm 事務管理器 和rm 資源管理器 工作在客戶端。seata最大程度的保證了對應用的透明。at模式 at模式是通過乙個兩階段提交的方式來管理事務,第一階段...
分布式事務框架seata
seata at模式 at模式和xa模式一樣,都是乙個兩階段提交的事務模型,不過和xa相比,做了一些優化,這個官網著重講解了一下at的原理,之後開一節著重看下一at模式的實現原理。saga模式 另外saga還提供了一下兩種補償恢復方式 saga的優勢 saga的實現方式 在以上支付下單的流程上乙個典...