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 個模組構成,三者使用單個本地資料來源。...