阿里開源微服務架構分布式事務解決方案 fescar

2021-09-08 17:01:27 字數 1211 閱讀 8990

fescar(fast & easy commit and rollback) 是乙個用於微服務架構的分布式事務解決方案,它的特點是高效能且易於使用,旨在實現簡單並快速的事務提交與回滾。

微服務架構中的分布式事務問題

從傳統的單體應用說起,假設乙個單體應用的業務由 3 個模組構成,三者使用單個本地資料來源。

這樣的話本地事務很自然就可以保證資料一致性。

但是在微服務架構中就不這麼簡單了,這 3 個模組被設計為 3 個不同資料來源之上的 3 個服務,每個服務對應乙個資料庫。

本地事務當然也可以保證每個服務中的資料一致性,但是擴充套件到整個應用、整個業務邏輯範圍來看,情況如何呢?

fescar 機制

fescar 就是用於解決上述微服務架構中的事務問題的解決方案。

如下圖所示,分布式事務是乙個全域性事務(global transaction),由一批分支事務(branch transation)組成,通常分支事務只是本地事務。

fescar 中有三大基本元件:

fescar 管理分布式事務的典型生命週期:

tm 要求 tc 開始新的全域性事務,tc 生成表示全域性事務的 xid。

xid 通過微服務的呼叫鏈傳播。

rm 在 tc 中將本地事務註冊為 xid 的相應全域性事務的分支。

tm 要求 tc 提交或回滾 xid 的相應全域性事務。

tc 驅動 xid 的相應全域性事務下的所有分支事務,完成分支提交或回滾。

演進歷史

阿里開源GTS FESCAR分布式事務

2.進行測試時首先啟動 server專案server類的main方法,accountserviceimpl orderserviceimpl storageserviceimpl實現類的main方法,都是註冊到dubbo中作為各個服務,accountserviceimpl,storageservic...

微服務架構分布式事務解決方案 FESCAR

fescar fast easy commit and rollback 是乙個用於微服務架構的分布式事務解決方案,它的特點是高效能且易於使用,旨在實現簡單並快速的事務提交與回滾。微服務架構中的分布式事務問題 從傳統的單體應用說起,假設乙個單體應用的業務由 3 個模組構成,三者使用單個本地資料來源。...

Fescar 微服務架構的分布式事務解決方案

fescar fast easy commit and rollback 是乙個用於微服務架構的分布式事務解決方案,它的特點是高效能且易於使用,旨在實現簡單並快速的事務提交與回滾。微服務架構中的分布式事務問題 從傳統的單體應用說起,假設乙個單體應用的業務由 3 個模組構成,三者使用單個本地資料來源。...