首頁 > 軟體

解析阿里GTS開源版本fescar分散式事務

2022-02-28 19:01:06

前言碎語

阿里重磅開源fescar分散式事務框架、其前身是擁有多項專利的雲分散式事務產品GTS、很早前阿里在推廣GTS分散式事務的時候就隱隱透露過可能會有開源專案的推出,終於在社群千呼萬喚之下fescar釋出了。目前是0.1的版本,因為脫胎於商業產品,社群版本要上生產環境可能需要在社群迭代孵化一段時間。程式碼可以先拉下來研究一下,後期持續關注fescar的發展。

專案地址:https://github.com/alibaba/fescar

什麼是FESCAR?

一種分散式事務解決方案,具有高效能和易用性的微服務架構。

微服務中的分散式事務問題

讓我們想象一下傳統的單片應用程式。其業務由3個模組構成。他們使用單個本地資料來源。

當然,本地交易可以保證資料的一致性。

微服務架構發生了變化。提到的3個模組設計為3個不同資料來源之上的3個服務(模式:每個服務的資料庫)。本地事務自然保證每個服務中的資料一致性。

但整個業務邏輯範圍如何呢?

FESCAR怎麼做?

FESCAR只是上述問題的解決方案。

首先,如何定義分散式事務?

我們說,分散式事務是一個全域性事務,由一批Branch Transation組成,通常Branch Transation只是本地事務。

FESACR有3個基本元件:

  • 事務協調器(TC):維護全域性和分支事務的狀態,驅動全域性提交或回滾。
  • Transaction Manager(TM):定義全域性事務的範圍:開始全域性事務,提交或回滾全域性事務。
  • 資源管理器(RM):管理分支事務的資源,與TC通訊以註冊分支事務和報告分支事務的狀態,並驅動分支事務提交或回滾。

FESCAR管理分散式事務的典型生命週期:

  • TM要求TC開始新的全球交易。TC生成表示全域性事務的XID。
  • XID通過微服務的呼叫鏈傳播。
  • RM將本地事務註冊為XID到TC的相應全域性事務的分支。
  • TM要求TC提交或回滾XID的相應全域性事務。
  • TC在XID的相應全域性事務下驅動所有分支事務以完成分支提交或rollbaking。

有關原理和設計的更多詳細資訊,請存取FESCAR維基頁面

歷史

  • TXC:淘寶交易建構函式。阿里巴巴中介軟體團隊自2014年起啟動該專案,以滿足應用程式架構從單一服務變為微服務所導致的直接交易問題。
  • GTS:全球交易服務。TXC作為Aliyun中介軟體產品,新名稱GTS自2016年起釋出。
  • FESCAR:我們從2019年開始基於TXC / GTS開源開源專案FESCAR,以便與社群密切合作。

以上就是解析阿里GTS開源版本fescar分散式事務的詳細內容,更多關於阿里GTS開源版本fescar分散式事務的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com