GTS 已經全面兼容和支持開源分布式事務 Seata,實現與 Seata 的協議兼容,支持使用 Seata 的應用無縫遷移到云上,基于 GTS 提供的服務高效運行。

Seata 簡介

Simple Extensible Autonomous Transaction Architecture(Seata)是一款開源的分布式事務解決方案,致力于提供高性能和簡單易用的分布式事務服務。

2019 年,基于 GTS 的技術積累,阿里巴巴發起了開源項目 Seata

2020 年 2 月,基于 Seata 項目 GA 后的版本,GTS 實現與 Seata 的協議兼容,支持使用 Seata 的應用無縫遷移到云上,基于 GTS 提供的服務高效運行。

Seata Roadmap

分布式事務框架和事務模式

GTS 和 Seata 定義的分布式事務框架是完全一致的,詳情請參見分布式事務框架和事務模式

TM、RM 和應用部署在一起,應用根據業務需求,選擇合適的分布式事務模式來解決數據一致性問題。

無論使用哪處模式,都離不開一個穩定高效的 TC 提供服務。這些服務包括(但不限于):

  • 記錄全局事務狀態
  • 記錄事務分支的注冊
  • 驅動事務分支進行最終的提交或回滾
  • 事務鏈路監控
  • 異常事務的恢復
  • 全局事務超時檢測
  • 全局事務間隔離機制

分布式事務的協調機制被定義為一項標準化的服務,獨立部署和運維,給應用的分布式系統提供事務服務。

協議和架構

基于事務框架定義的事務協議如下圖所示。

Seata 和 GTS 事務協議

Seata 的分布式事務框架源自 GTS,二者的底層架構和事務協議是完全一致的。

  • GTS 把 TM 和 RM 的實現統一打包到 GTS SDK(GTS Client) 中。
  • GTS 服務端(GTS Server)就是 TC 的一個高可用實現。

依托于阿里云的基礎設施,GTS Server 以多副本、高可用集群形態部署,提供高質量的事務協調服務。

將 Seata 應用遷移到 GTS

架構和協議層面一致,使得 GTS 可以很自然地提供對 Seata 應用的事務協調支持。只要實現具體網絡通信機制上的兼容適配,就可以完整支撐 Seata 應用運行在 GTS 服務之上。

Seata 應用遷移到云上使用 GTS 服務不需要做任何編程改造,僅僅是把自運維的 Seata 的 TC Server 替換為 GTS 提供的高性能、高可靠、高可用的云服務。

Seata 應用遷移上云

GTS 的 SDK 2.9.0 版本支持基于 Seata 的應用使用 AT 模式,運行在 GTS 服務上。詳情請參見 Seata 應用樣例