|
|
|
@ -12,7 +12,7 @@ DTM是首款golang的开源分布式事务管理器,优雅的解决了幂等 |
|
|
|
|
|
|
|
受邀参加中国数据库大会分享[多语言环境下分布式事务实践](http://dtcc.it168.com/yicheng.html#b9) |
|
|
|
|
|
|
|
### 与其他框架对比 |
|
|
|
## 与其他框架对比 |
|
|
|
|
|
|
|
目前开源的分布式事务框架,暂未看到非Java语言有成熟的框架。而Java语言的较多,有阿里的SEATA、华为的ServiceComb-Pack,京东的shardingsphere,以及himly,tcc-transaction,ByteTCC等等,其中以seata应用最为广泛。 |
|
|
|
|
|
|
|
@ -32,34 +32,27 @@ DTM是首款golang的开源分布式事务管理器,优雅的解决了幂等 |
|
|
|
|
|
|
|
从上面对比的特性来看,如果您的语言栈包含了Java之外的语言,那么dtm是您的首选。如果您的语言栈是Java,您也可以选择接入dtm,使用子事务屏障技术,简化您的业务编写。 |
|
|
|
|
|
|
|
### 文档与介绍(更新中) |
|
|
|
* [分布式事务简介](https://zhuanlan.zhihu.com/p/387487859) |
|
|
|
* 分布式事务模式 |
|
|
|
- [XA事务模式](https://zhuanlan.zhihu.com/p/384756957) |
|
|
|
- [SAGA事务模式](https://zhuanlan.zhihu.com/p/385594256) |
|
|
|
- [TCC事务模式](https://zhuanlan.zhihu.com/p/388357329) |
|
|
|
- 可靠消息事务模式 |
|
|
|
* [子事务屏障](https://zhuanlan.zhihu.com/p/388444465) |
|
|
|
* [通信协议](./doc/protocol.md) |
|
|
|
* FAQ |
|
|
|
* 部署指南 |
|
|
|
## [各语言客户端及示例](./doc/sdk.md) |
|
|
|
|
|
|
|
## 快速开始 |
|
|
|
|
|
|
|
# 快速开始 |
|
|
|
### 安装 |
|
|
|
|
|
|
|
`git clone https://github.com/yedf/dtm` |
|
|
|
|
|
|
|
### dtm依赖于mysql |
|
|
|
|
|
|
|
配置mysql: |
|
|
|
配置mysql: |
|
|
|
|
|
|
|
`cp conf.sample.yml conf.yml # 修改conf.yml` |
|
|
|
`cp conf.sample.yml conf.yml # 修改conf.yml` |
|
|
|
|
|
|
|
### 启动并运行saga示例 |
|
|
|
`go run app/main.go saga` |
|
|
|
|
|
|
|
# 开始使用 |
|
|
|
## 开始使用 |
|
|
|
|
|
|
|
### 使用 |
|
|
|
``` go |
|
|
|
``` GO |
|
|
|
// 具体业务微服务地址 |
|
|
|
const qsBusi = "http://localhost:8081/api/busi_saga" |
|
|
|
req := &gin.H{"amount": 30} // 微服务的载荷 |
|
|
|
@ -75,36 +68,26 @@ DTM是首款golang的开源分布式事务管理器,优雅的解决了幂等 |
|
|
|
### 完整示例 |
|
|
|
参考[examples/quick_start.go](./examples/quick_start.go) |
|
|
|
|
|
|
|
### 交流群 |
|
|
|
请加 yedf2008 好友或者扫码加好友,验证回复 dtm 按照指引进群 |
|
|
|
## 文档与介绍(更新中) |
|
|
|
* [分布式事务简介](https://zhuanlan.zhihu.com/p/387487859) |
|
|
|
* 分布式事务模式 |
|
|
|
- [XA事务模式](https://zhuanlan.zhihu.com/p/384756957) |
|
|
|
- [SAGA事务模式](https://zhuanlan.zhihu.com/p/385594256) |
|
|
|
- [TCC事务模式](https://zhuanlan.zhihu.com/p/388357329) |
|
|
|
- 可靠消息事务模式 |
|
|
|
* [子事务屏障](https://zhuanlan.zhihu.com/p/388444465) |
|
|
|
* [通信协议](./doc/protocol.md) |
|
|
|
* [FAQ](https://github.com/yedf/dtm/issues/1) |
|
|
|
* 部署指南 |
|
|
|
|
|
|
|
## 交流群 |
|
|
|
请加 yedf2008 好友或者扫码加好友,验证回复 dtm 按照指引进群 |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
如果您觉得此项目不错,或者对您有帮助,请赏颗星吧! |
|
|
|
|
|
|
|
### 其他语言客户端 |
|
|
|
|
|
|
|
#### python |
|
|
|
|
|
|
|
客户端sdk(当前只支持TCC): [https://github.com/yedf/dtmcli-py](https://github.com/yedf/dtmcli-py) |
|
|
|
|
|
|
|
示例: [https://github.com/yedf/dtmcli-py-sample](https://github.com/yedf/dtmcli-py-sample) |
|
|
|
|
|
|
|
#### php |
|
|
|
|
|
|
|
客户端sdk(当前只支持TCC): [https://github.com/yedf/dtmcli-php](https://github.com/yedf/dtmcli-php) |
|
|
|
|
|
|
|
示例: [https://github.com/yedf/dtmcli-php-sample](https://github.com/yedf/dtmcli-php-sample) |
|
|
|
|
|
|
|
感谢 [onlyshow](https://github.com/onlyshow) 的帮助,php的sdk和示例,全部由[onlyshow](https://github.com/onlyshow)独立完成 |
|
|
|
|
|
|
|
#### node |
|
|
|
|
|
|
|
客户端sdk(当前只支持TCC): [https://github.com/yedf/dtmcli-node](https://github.com/yedf/dtmcli-node) |
|
|
|
|
|
|
|
示例: [https://github.com/yedf/dtmcli-node-sample](https://github.com/yedf/dtmcli-node-sample) |
|
|
|
|
|
|
|
### 谁在使用 |
|
|
|
## 谁在使用 |
|
|
|
<div style='vertical-align: middle'> |
|
|
|
<img alt='常青藤爸爸' height='40' src='https://www.ivydad.com/_nuxt/img/header-logo.2645ad5.png' /img> |
|
|
|
<img alt='镜小二' height='40' src='https://img.epeijing.cn/official-website/assets/logo.png' /img> |
|
|
|
|