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

2021-09-13 20:36:02 字數 1211 閱讀 4366

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 的相應全域性事務下的所有分支事務,完成分支提交或回滾。

演進歷史

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

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

微服務 分布式架構演變之路

最近兩個月因為一點破事停止了更新,真的是哭出了聲音。但是還好,之前說的微服務系列也算是開始了!大家有什麼建議可以提!這章講的是分布式架構的演變之路。1.單體應用架構 2.垂直架構 3.分布式架構 微服務 最開始的應用架構,是一台伺服器,開個web服務,乙個資料庫服務。這時候的應用效能受伺服器效能影響...

php分布式微服務開發 分布式微服務架構

隨著業務的不斷發展,使用者體量的快速擴張.從單體 垂直架構轉移到分布式 微服務架構是自然而然的選擇.分布式理論是分布式系統的基礎,在任何情況下分布式系統都要滿足網路分割槽容錯性,因此分布式系統都是在可用性和一致性方面做平衡.cap理論指的是在乙個分布式系統中,一致性 可用性 分割槽容錯性 在任何情況...