From 32d93ee925f4ae944a0b9f325a7b0257d0a4a5ce Mon Sep 17 00:00:00 2001 From: yedongfu Date: Sun, 18 Jul 2021 20:22:48 +0800 Subject: [PATCH] add feature compare --- README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/README.md b/README.md index a787eef..307f017 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,26 @@ DTM是首款golang的开源分布式事务管理器,优雅的解决了幂等 * FAQ * 部署指南 +### 与其他框架对比 + +目前开源的分布式事务框架,有阿里的SEATA、华为的ServiceComb-Pack,京东的shardingsphere,以及himly,tcc-transaction,ByteTCC等等,这些框架基本都是Java语言,其中以seata应用最为广泛。 + +下面将dtm和seata的主要特性做一下对比: + +| 特性| DTM | SEATA |备注| +| :-----:|:----: | :----: | +| 支持的语言 | Golang、python、nodejs及其他 | Java |dtm的客户端很轻,可轻松接入一门新语言| +|事务乱序处理| 子事务屏障技术|手动处理 |子事务屏障轻松解决幂等、悬挂、空补偿等问题 +| TCC事务| ||| +| XA事务|||| +|AT事务|||AT事务与XA事务特性上非常近似| +| SAGA事务 | 简单模式 | 状态机复杂模式 |dtm的状态机模式在规划中| +|事务消息|||dtm提供了类似rocketmq的事务消息| +|通信协议|HTTP|dubbo、springcloud等协议,无HTTP|dtm后续将支持grpc类协议| +|github star数量|github stars|github stars|dtm从2021-06-04发布0.1版本,发展较快 + +从上面对比的特性来看,如果您的语言栈包含了Java之外的语言,那么dtm是您的首选。如果您的语言栈是Java,您也可以选择接入dtm,使用子事务屏障技术,简化您的业务编写。 + # 快速开始 ### 安装 `git clone github.com/yedf/dtm`