optimize error (#395)

optimize error
43 files changed
tree: 3bb660613775c90e227f8c120bc00cc7c035502d
  1. .github/
  2. changes/
  3. cmd/
  4. pkg/
  5. sample/
  6. testdata/
  7. .gitignore
  8. .golangci.yml
  9. .licenserc.yaml
  10. .pre-commit-config.yaml
  11. CHANGELOG.md
  12. CONTRIBUTING.md
  13. CONTRIBUTING_CN.md
  14. coverage.txt
  15. go.mod
  16. go.sum
  17. goimports.sh
  18. LICENSE
  19. makefile
  20. NOTICE
  21. README.md
  22. README_ZH.md
  23. VERSION
README.md

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

  • [x] TCC
  • [ ] XA
  • [x] AT
  • [ ] SAGA
  • [ ] TM
  • [x] RPC communication
  • [x] Transaction anti suspension
  • [x] Null compensation
  • [ ] Configuration center
  • [ ] Registration Center
  • [ ] Metric monitoring
  • [x] Examples

How to run?

  1. Start the seata-server service with the docker file under the sample/dockercomposer folder

    cd sample/dockercompose
    docker-compose -f docker-compose.yml up -d seata-server
    
  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!

image

Licence

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