分布式事務4種方式,通俗易解篇

2022-06-22 07:45:11 字數 592 閱讀 7248

1、鏈式呼叫方式

服務a 事務方法的最後一行 呼叫服務b事務方法,  服務b事務方法的最後一行 呼叫服務c事務方法  

因為都是每個方法的最後一行,從上往下執行,如果有任何乙個服務出現問題,那麼整條鏈路都會回滾事物

2、通過mq自己手動回滾業務(補償事務(tcc))

比如訂單提交,可以先在訂單服務完成訂單建立,然後發訊息再去商品模組去減庫存,如果庫存修改失敗,發訊息到訂單模組,取消訂單

3、阻塞方式(兩階段提交(2pc))

定義乙個事物控制中心,同乙個操作中的所有服務的事物全部加入到事物控制中心控制,每個服務一旦執行完畢,事物都處於等待提交狀態,等待中心通知提交事物,一旦所有事物都執行完成,事物中心就通知所有的服務提交事物,反之,有乙個服務失敗,事務中心則通知該批次所有服務全部回滾事物

4、利用日誌回滾事物(seata)

定義乙個事物控制中心,同乙個操作全部註冊乙個全域性事物id,每個服務執行完成都按照正常的事物進行提交,事物中心記錄狀態,如果某乙個服務出現異常,那麼事物中心會根據日誌去挨個執行回滾操作

分布式事務的幾種方式

一 可靠訊息最終一致性方案 應用場景 業務實時性不那麼高。比如 支付後的財務處理。優點 不會出現堵塞情況,訊息只要存在訊息伺服器裡面就預設執行成功。缺點 資料同步實時性差,後續回查檢驗成本大。二 最大努力通知方案 三 tcc型分布式事務方案 應用場景 業務實時性比較高。比如 商品支付後的積分數,使用...

深入理解分布式事務,高併發下分布式事務的解決方案

當資料庫單錶一年產生的資料超過1000w,那麼就要考慮分庫分表,具體分庫分表的原理在此不做解釋,以後有空詳細說,簡單的說就是原來的乙個資料庫變成了多個資料庫。這時候,如果乙個操作既訪問01庫,又訪問02庫,而且要保證資料的一致性,那麼就要用到分布式事務。所謂的soa化,就是業務的服務化。比如原來單機...

深入理解分布式事務,高併發下分布式事務的解決方案

當資料庫單錶一年產生的資料超過1000w,那麼就要考慮分庫分表,具體分庫分表的原理在此不做解釋,以後有空詳細說,簡單的說就是原來的乙個資料庫變成了多個資料庫。這時候,如果乙個操作既訪問01庫,又訪問02庫,而且要保證資料的一致性,那麼就要用到分布式事務。所謂的soa化,就是業務的服務化。比如原來單機...