An Overview of Alibaba’s Open‑Source Distributed Transaction Framework Fescar (Seata)
Fescar, Alibaba’s open‑source Fast & Easy Commit And Rollback (Seata) framework, provides a high‑performance, easy‑to‑use distributed transaction solution for microservice architectures, detailing its components, transaction lifecycle, and evolution from TXC to GTS, and illustrating its role in solving global transaction challenges.
On September 9, Alibaba released the community edition of its distributed transaction framework GTS, named Fescar (now called Seata), generating excitement because distributed transactions are a long‑standing pain point in microservice systems.
What is Fescar? Fescar (Fast & Easy Commit And Rollback) is a high‑performance, easy‑to‑use solution for distributed transactions in microservice architectures, aiming to achieve simple and fast transaction commit and rollback.
Distributed transaction problems in microservice architecture In a traditional monolithic application, a single local data source can naturally guarantee data consistency. In a microservice architecture, each module runs as an independent service with its own database, making it difficult to ensure consistency across the entire business flow.
Fescar is designed to solve the above transaction issues. It treats a distributed transaction as a global transaction composed of multiple branch transactions, which are usually local transactions.
Fescar consists of three core components:
Transaction Coordinator (TC): maintains the state of global and branch transactions and drives commit or rollback of the global transaction.
Transaction Manager (TM): defines the scope of a global transaction, i.e., start, commit, or rollback.
Resource Manager (RM): manages resources for branch transactions, registers branches with TC, reports their status, and drives branch commit or rollback.
The typical lifecycle of a distributed transaction managed by Fescar is:
TM asks TC to start a new global transaction; TC generates a global transaction ID (XID).
The XID is propagated through the microservice call chain.
RM registers the local transaction as a branch of the XID in TC.
TM requests TC to commit or rollback the XID.
TC drives all branch transactions under the XID to complete commit or rollback.
Evolution history
TXC (Taobao Transaction Constructor) started in 2014 by Alibaba’s middleware team to address distributed transaction issues caused by the shift to microservices.
GTS (Global Transaction Service) was released in 2016 as the productized version of TXC.
Fescar was open‑sourced in 2019 based on TXC/GTS.
In summary, Fescar (Seata) offers a robust, open‑source framework for managing distributed transactions in microservice environments, aiming to simplify development and improve performance.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Java Captain
Focused on Java technologies: SSM, the Spring ecosystem, microservices, MySQL, MyCat, clustering, distributed systems, middleware, Linux, networking, multithreading; occasionally covers DevOps tools like Jenkins, Nexus, Docker, ELK; shares practical tech insights and is dedicated to full‑stack Java development.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
