Skip to content

apache/incubator-seata-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7e1a2bf · May 1, 2025
Apr 27, 2025
Apr 25, 2025
Jun 13, 2022
Jan 6, 2025
May 1, 2025
Apr 26, 2025
Feb 22, 2024
Aug 17, 2022
Dec 14, 2024
Jan 6, 2025
Jul 26, 2022
Apr 25, 2025
Jun 4, 2024
Jan 24, 2024
May 3, 2022
Mar 15, 2025
Apr 25, 2025
Dec 14, 2024
Feb 6, 2025
Feb 6, 2025
Jun 4, 2024
Jun 4, 2024
Jun 4, 2024

Seata-go: Simple Extensible Autonomous Transaction Architecture(Go version)

CI license

简体中文 ZH

What is seata-go?

Apache Seata(incubating) is a very mature distributed transaction framework, and is the de facto standard platform for distributed transaction technology in the Java field. Seata-go is the implementation version of go language in Seata multilingual ecosystem, which realizes the interoperability between Java and Go, so that Go developers can also use seata-go to realize distributed transactions. Please visit the official website of Seata to view the quick start and documentation.

The principle of seata-go is consistent with that of Seata-java, which is composed of TM, RM and TC. The functions of TC reuse Java, and the functions of TM and RM will be aligned with Seata-java later. The overall process is as follows:

TODO list

  • TCC
  • XA
  • AT
    • Insert SQL
    • Delete SQL
    • Insert on update SQL
    • Multi update SQL
    • Multi delete SQL
    • Select for update SQL
    • Update SQL
  • SAGA
  • TM
  • RPC communication
  • Transaction anti suspension
    • Manually way
    • Proxy datasource way
  • Null compensation
  • Configuration center
    • Configuration file
  • Registration Center
  • Metric monitoring
  • Compressor algorithm
  • Examples

How to run?

if you want to know how to use and integrate seata-go, please refer to apache/seata-go-samples

How to join us?

Seata-go is currently in the construction stage. Welcome colleagues in the industry to join the group and work with us to promote the construction of seata-go! If you want to contribute code to seata-go, you can refer to the code contribution Specification document to understand the specifications of the community, or you can join our community DingTalk group: 33069364 and communicate together!

Licence

Seata-go uses Apache license version 2.0. Please refer to the license file for more information.