DTMGO 语言分布式事务管理服务
DTM 是首款 golang 的开源分布式事务管理器,优雅的解决了幂等、空补偿、悬挂等分布式事务难题。在微服务架构中,提供了高性能和简单易用的分布式事务解决方案。
亮点
- 稳定可靠
- 经过生产环境考验,单元测试覆盖率90%以上
- 使用简单
- 接口简单,开发者不再担心悬挂、空补偿、幂等各类问题,框架层代为处理
- 跨语言
- 可适合多语言栈的公司使用。协议支持http。方便go、python、php、nodejs、ruby各类语言使用。
- 社区活跃
- 任何问题都快速响应
- 易部署、易扩展
- 仅依赖mysql,部署简单,易集群化,易水平扩展
- 多种分布式事务协议支持
- TCC: Try-Confirm-Cancel
- SAGA:
- 可靠消息
- XA
与其他框架对比
目前开源的分布式事务框架,有阿里的 SEATA、华为的 ServiceComb-Pack,京东的 shardingsphere,以及 himly,tcc-transaction,ByteTCC 等等,其中以 seata 应用最为广泛。
这些框架基本都是 Java 语言,非 Java 语言的,暂未看到有成熟的框架。
下面将dtm和seata的主要特性做一下对比:
快速开始
安装
git clone https://github.com/yedf/dtm
dtm依赖于mysql
配置mysql:
cp conf.sample.yml conf.yml # 修改conf.yml
启动并运行saga示例
go run app/main.go saga
评论