|
|
|
@ -1,10 +1,14 @@ |
|
|
|
## 轻量级分布式事务管理服务 |
|
|
|
* 跨语言 |
|
|
|
- 语言无关,基于http协议 |
|
|
|
* 多种分布式协议支持 |
|
|
|
- 支持xa、tcc、saga |
|
|
|
## 运行示例 |
|
|
|
### dtm依赖于mysql |
|
|
|
# 轻量级分布式事务管理服务 |
|
|
|
DTM 是一款跨语言的分布式事务管理方案,在各类微服务架构中,提供高性能和简单易用的分布式事务服务。 |
|
|
|
# 特色 |
|
|
|
## 跨语言 |
|
|
|
语言无关,任何语言实现了http方式的服务,都可以接入DTM,用来管理分布式事务 |
|
|
|
## 多种分布式事务协议支持 |
|
|
|
支持XA,TCC,SAGA |
|
|
|
## 高可用 |
|
|
|
基于数据库实现,易集群化,已水平扩展 |
|
|
|
# 快速开始 |
|
|
|
## dtm依赖于mysql |
|
|
|
|
|
|
|
使用已有的mysql: |
|
|
|
|
|
|
|
@ -13,14 +17,14 @@ |
|
|
|
或者通过docker安装mysql |
|
|
|
|
|
|
|
`docker-compose up -f compose.mysql.yml` |
|
|
|
### 启动并运行saga示例 |
|
|
|
## 启动并运行saga示例 |
|
|
|
`go run app/main.go` |
|
|
|
|
|
|
|
## 开始使用 |
|
|
|
# 开始使用 |
|
|
|
|
|
|
|
### 安装 |
|
|
|
## 安装 |
|
|
|
`go get github.com/yedf/dtm` |
|
|
|
### 使用 |
|
|
|
## 使用 |
|
|
|
``` go |
|
|
|
gid := common.GenGid() |
|
|
|
req := &gin.H{"amount": 30} |
|
|
|
@ -29,10 +33,10 @@ saga := dtm.SagaNew(DtmServer, gid). |
|
|
|
Add(startBusi+"/TransIn", startBusi+"/TransInCompensate", req) |
|
|
|
err := saga.Commit() |
|
|
|
``` |
|
|
|
### 完整示例 |
|
|
|
## 完整示例 |
|
|
|
参考[examples/quick_start.go](./examples/quick_start.go) |
|
|
|
|
|
|
|
### 交流群 |
|
|
|
## 交流群 |
|
|
|
请加 yedf2008 好友或者扫码加好友,验证回复 dtm 按照指引进群 |
|
|
|
|
|
|
|
 |