Skip to content

apache/incubator-seata-go

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

958564d · Nov 12, 2023
Jul 9, 2023
May 29, 2023
Jun 13, 2022
Nov 12, 2023
Oct 14, 2023
Aug 17, 2022
Sep 21, 2022
Sep 5, 2022
Jul 26, 2022
Jul 30, 2022
Aug 11, 2022
Aug 11, 2022
May 3, 2022
Jul 26, 2022
Mar 4, 2023
Mar 4, 2023
May 4, 2022
May 9, 2022
Nov 11, 2023
Nov 11, 2023
May 28, 2023
May 4, 2023
Jul 26, 2022

Repository files navigation

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

Build Status license

简体中文 ZH

What is seata-go?

Seata 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 seata/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!

image

Licence

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