2021-06-04 19:36:35 +08:00
2021-05-16 09:14:53 +08:00
2021-06-04 19:28:37 +08:00
2021-06-04 15:44:12 +08:00
2021-06-04 15:44:12 +08:00
2021-06-04 19:28:37 +08:00
2021-06-04 15:44:12 +08:00
2021-06-04 15:44:12 +08:00
2021-06-04 19:28:37 +08:00
2021-06-03 15:11:03 +08:00
2021-06-03 17:56:09 +08:00
2021-06-03 17:56:09 +08:00
2021-06-04 19:28:37 +08:00
2021-06-04 19:36:35 +08:00
2021-06-02 17:22:11 +08:00
2021-06-02 17:22:11 +08:00
2021-06-04 15:44:12 +08:00

轻量级分布式事务管理服务

  • 跨语言
    • 语言无关基于http协议
  • 多种分布式协议支持
    • 支持xa、tcc、saga

运行示例

dtm依赖于mysql

使用已有的mysql

cp conf.sample.yml conf.yml # 修改conf.yml

或者通过docker安装mysql

docker-compose up -f compose.mysql.yml

启动并运行saga示例

go run app/main.go

开始使用

安装

go get github.com/yedf/dtm

使用

gid := common.GenGid()
req := &gin.H{"amount": 30}
saga := dtm.SagaNew(DtmServer, gid).
  Add(startBusi+"/TransOut", startBusi+"/TransOutCompensate", req).
  Add(startBusi+"/TransIn", startBusi+"/TransInCompensate", req)
err := saga.Commit()

完整示例

参考examples/quick_start.go

Description
开源的分布式事务框架 原始仓库: https://github.com/yedf/dtm
Readme 633 KiB
Languages
Go 99.6%
Shell 0.2%
Dockerfile 0.2%