seata-golang is a distributed transaction middleware based on Golang.
feature | seata | seata-golang | remark |
---|---|---|---|
AT mode | √ | √ | |
TCC mode | √ | √ | |
SAGA mode | √ | × | |
rpc | √ | √ | dev branch |
grpc | × | √ | v2 branch |
A typical lifecycle of Seata managed distributed transaction:
cd ${projectpath}/cmd/tc
go build -o tc_server
# create database `seata` for TC server
# update storage.dsn.mysql in ${projectpath}/cmd/profiles/dev/config.yml
./tc_server start -config ${projectpath}/cmd/profiles/dev/config.yml
Please refer to demo seata-go-samples
The seata-golang AT and TCC design are actually the same as seata.
Please refer to what-is-seata for more details.
Please contact us via DingTalk app if you have any issues. The chat group ID is 33069364.
Welcome to raise up issue or pull-request to seata-golang!
To contribute, fork from opentrx/seata-golang and push branch to your repo, then open a pull-request.
seata-golang software is licenced under the Apache License Version 2.0. See the LICENSE file for details.