seata-go

module
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2024 License: Apache-2.0

README

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 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!

Licence

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

Directories

Path Synopsis
pkg
datasource/sql/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
datasource/sql/util
Package sql provides a generic interface around SQL (or SQL-like) databases.
Package sql provides a generic interface around SQL (or SQL-like) databases.
discovery/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
remoting/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
rm
tm

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL