DTM GO 语言分布式事务管理服务

开源网站开源项目 24-05-03 09:50:39

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的主要特性做一下对比:

特性 DTM SEATA 备注

支持语言Golang、python、php及其他Javadtm可轻松接入一门新语言异常处理子事务屏障技术手动处理dtm解决了幂等、悬挂、空补偿TCC事务✓✓XA事务✓✓AT事务✗✓AT事务与XA事务类似SAGA事务简单模式状态机复杂模式dtm的状态机模式在规划中事务消息✓✗dtm提供类似rocketmq的事务消息通信协议HTTPdubbo等协议,无HTTPdtm后续将支持grpc类协议star数量github starsgithub stars

dtm从20210604发布0.1,发展快

快速开始安装

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

[DTM GO 语言分布式事务管理服务]相关推荐

casbin 轻量级访问控制框架

casbin是一个用Go语言打造的轻量级开源访问控制框架,采用了元模型的设计思想,支持多种经典的访问控制方……...

EGL 高级程序语言

EGL 高级程序语言

EGL是IBM设计的面向企业的平台无关高级程序语言,语法类似其它常见语言,EGL程序可以编译成COBOL、Java或……...

mui 移动HTML5前端框架

mui 移动HTML5前端框架

性能和体验的差距,一直是mobile app开发者放弃HTML5的首要原因。 浏览器天生的切页白屏、不忍直视的转页……...

TinyMCE 可视化 HTML 编辑器

TinyMCE 可视化 HTML 编辑器

TinyMCE是一个轻量级的,基于浏览器的,所见即所得编辑器,支持目前流行的各种浏览器,由JavaScript写成……...

今日开源
  1. Paladin Web游戏技术平台

    Paladin 是 Mozilla 社区推出的一个开源的 Web 游戏引擎技术。 Paladin sits at the intersection of 3D gaming, JavaScript framework and library development, and the browser. We're tied into the bits of t……

    开源软件 2024-05-12

  2. VUX 移动端 UI 组件库

    VUX 移动端 UI 组件库

    Vux(读音 [v'ju:z],同views)是基于 WeUI 和 Vue(2.x) 开发的移动端UI组件库,主要服务于微信页面。 基于webpack+vue-loader+vux可以快速开发移动端页面,配合vux-loader方便你在WeUI的基础上定制需要的样……

    开源软件 2024-05-12

  3. ionicons 开源图标集合

    ionicons 开源图标集合

    Ionicons是一个完全开源的图标集,包含 1,300 个专为 Web、iOS、Android 和桌面应用程序设计的图标。 Ionicons 是为Ionic Framework构建的,因此图标具有 Material Design 和 iOS 版本,支持 SVG 和 Web Font。 Io……

    开源软件 2024-05-12

返回顶部小火箭