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

Build Status license

English 🇺🇸

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
  • SAGA
  • TM
  • RPC communication
  • Transaction anti suspension
  • Null compensation
  • Configuration center
  • Registration Center
  • Metric monitoring
  • Examples

How to run?

  1. First download seata java and Start the TC service. For the specific process, refer to seata deployment guide Documentation
  2. Just execute the main function under samples/ in the root directory

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.

GitHub

View Github