Repolode
apache

apache/incubator-seata

An open-source distributed transaction solution for microservices, supporting AT, TCC, Saga and XA modes.

Stars
26,001
Forks
8,830
Open issues
911
Last commit
7 days ago

What is it?

Apache Seata is a distributed transaction framework for microservices. When a business operation spans several services with their own databases, a single local transaction can no longer keep data consistent across them. Seata coordinates these branch transactions through a global transaction that can be committed or rolled back as a whole.

The framework has three roles: a Transaction Coordinator (TC) that tracks global and branch transaction status and drives commit or rollback, a Transaction Manager (TM) that defines the scope of a global transaction, and a Resource Manager (RM) that registers branches and executes their commit or rollback. A global transaction ID (XID) is passed along the service call chain so each service can join the same transaction.

The project is written in Java. It offers a seata-all library for general use and a seata-spring-boot-starter for Spring Boot applications, and its ecosystem includes Go client, samples, Kubernetes integration and a CLI.

Key features

  • 01Coordinates global transactions across multiple microservices with XID propagation.
  • 02Separates roles into Transaction Coordinator, Transaction Manager and Resource Manager.
  • 03Provides a Java library (seata-all) and a Spring Boot starter.
  • 04Ecosystem includes a Go client, Kubernetes integration and a CLI tool.

Use cases

  • Keeping order, payment and inventory data consistent across separate microservices.
  • Adding distributed transaction support to existing Java or Spring Boot systems.
  • Running Seata on Kubernetes as part of a microservice deployment.

Quick start

  1. 1

    Add the Maven dependency seata-all or seata-spring-boot-starter (version 2.5.0)

  2. 2

    Follow the official Quick Start guide to deploy the Seata server

Things to know

  • Running transactions requires deploying and operating a separate Seata coordinator server.
  • The project is listed as Apache Incubator (incubating) in the README.

Topics

#distributed-transaction#microservice#java#spring-boot#saga#tcc#xa#at#consistency

FAQ

What is incubator-seata?
An open-source distributed transaction solution for microservices, supporting AT, TCC, Saga and XA modes. Apache Seata is a distributed transaction framework for microservices. When a business operation spans several services with their own databases, a single local transaction can no longer keep data consistent across them. Seata coordinates these branch transactions through a global transaction that can be committed or rolled back as a whole.
Is incubator-seata free to use? What license does it have?
incubator-seata is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is incubator-seata still maintained?
Actively maintained. The last commit to incubator-seata was on Oct 31, 2026.
What can I use incubator-seata for?
Keeping order, payment and inventory data consistent across separate microservices. Adding distributed transaction support to existing Java or Spring Boot systems. Running Seata on Kubernetes as part of a microservice deployment.
How do I install incubator-seata?
Add the Maven dependency seata-all or seata-spring-boot-starter (version 2.5.0) Follow the official Quick Start guide to deploy the Seata server
Where can I get incubator-seata?
The source code and installation instructions are on GitHub: https://github.com/apache/incubator-seata

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects