From 00af043e6f4ec0cf1711659ee9413e12ae056db3 Mon Sep 17 00:00:00 2001 From: yedf2 <120050102@qq.com> Date: Thu, 30 Dec 2021 10:20:47 +0800 Subject: [PATCH] update readme --- README-cn.md | 24 +++++++++------------ README.md | 61 ++++++++++++++++++++-------------------------------- 2 files changed, 33 insertions(+), 52 deletions(-) diff --git a/README-cn.md b/README-cn.md index 319790f..cc2c53f 100644 --- a/README-cn.md +++ b/README-cn.md @@ -23,8 +23,6 @@ DTM是一款golang开发的分布式事务管理器,解决了跨数据库、 [极欧科技](https://dtm.pub/other/using.html) -[金数智联](https://dtm.pub/other/using.html) - ## 亮点 * 极易接入 @@ -34,15 +32,13 @@ DTM是一款golang开发的分布式事务管理器,解决了跨数据库、 * 跨语言 - 可适合多语言栈的公司使用。方便go、python、php、nodejs、ruby、c# 各类语言使用。 * 易部署、易扩展 - - 仅依赖mysql,部署简单,易集群化,易水平扩展 + - 支持零配置,或依赖mysql|redis,部署简单,易集群化,易水平扩展 * 多种分布式事务协议支持 - - TCC、SAGA、XA、事务消息 + - TCC、SAGA、XA、二阶段消息 ## 与其他框架对比 -目前开源的分布式事务框架,Java的框架较多,有大厂开源的SEATA、ServiceComb-Pack,shardingsphere,以及个人开源的himly,tcc-transaction,ByteTCC等等,其中以Seata的应用最为广泛。 - -非Java语言类的,暂未看到除dtm之外的成熟框架,因此这里仅将DTM和Java中最成熟的Seata对比: +非Java语言类的,暂未看到除dtm之外的成熟框架,因此这里将DTM和Java中最成熟的Seata对比: | 特性| DTM | SEATA |备注| |:-----:|:----:|:----:|:----:| @@ -69,9 +65,8 @@ DTM是一款golang开发的分布式事务管理器,解决了跨数据库、 ## 微服务框架支持 - [go-zero](https://github.com/zeromicro/go-zero):一开源就非常火爆的微服务框架,首家接入dtm的微服务框架。感谢go-zero作者[kevwan](https://github.com/kevwan)的大力支持 - [polaris](https://github.com/polarismesh/polaris): 腾讯开源的注册发现组件,以及在其上构建的微服务框架。感谢腾讯同学[ychensha](https://github.com/ychensha)的PR -- 其他:看用户需求量,择机接入 +- 其他:看用户需求量,择机接入,参见[微服务支持](https://dtm.pub/protocol/intro.html) -具体微服务接入使用,参见[微服务支持](https://dtm.pub/protocol/intro.html) ## 快速开始 如果您不是Go语言,可以跳转[各语言客户端及示例](https://dtm.pub/summary/code.html#go),里面有相关的快速开始示例 @@ -84,9 +79,9 @@ go run main.go ``` ### 启动并运行一个saga示例 -`go run qs/main.go` +下面运行一个类似跨行转账的示例,包括两个事务分支:资金转出(TransOut)、资金转入(TransIn)。DTM保证TransIn和TransOut要么全部成功,要么全部回滚,保证最终金额的正确性。 -这是一个类似跨行转账的示例,包括两个事务分支:资金转出(TransOut)、资金转入(TransIn)。DTM保证TransIn和TransOut要么全部成功,要么全部回滚,保证最终金额的正确性。 +`go run qs/main.go` ## 接入详解 @@ -117,9 +112,10 @@ go run main.go ### 更多示例 参考[dtm-labs/dtm-examples](https://github.com/dtm-labs/dtm-examples) -## 公众号 -您可以关注公众号:分布式事务,及时跟踪dtm的最新内容 -## 交流群 +## 联系我们 +### 公众号 +dtm官方公众号:分布式事务,大量干货分享,以及dtm的最新消息 +### 交流群 请加 yedf2008 好友或者扫码加好友,验证回复 dtm 按照指引进群 ![yedf2008](http://service.ivydad.com/cover/dubbingb6b5e2c0-2d2a-cd59-f7c5-c6b90aceb6f1.jpeg) diff --git a/README.md b/README.md index 27be69d..cc2c53f 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,9 @@ DTM是一款golang开发的分布式事务管理器,解决了跨数据库、 他优雅的解决了幂等、空补偿、悬挂等分布式事务难题,提供了简单易用、高性能、易水平扩展的解决方案。 -作者受邀参加中国数据库大会分享[多语言环境下分布式事务实践](http://dtcc.it168.com/yicheng.html#b9) +通俗一点说,DTM提供跨服务事务能力,一组服务要么全部成功,要么全部回滚,避免只更新了一部分数据产生的业务问题。 -## 谁在使用dtm +## 谁在使用DTM(仅列出部分) [Tencent 腾讯](https://dtm.pub/other/using.html#tencent) [Ivydad 常青藤爸爸](https://dtm.pub/other/using.html#ivydad) @@ -23,8 +23,6 @@ DTM是一款golang开发的分布式事务管理器,解决了跨数据库、 [极欧科技](https://dtm.pub/other/using.html) -[金数智联](https://dtm.pub/other/using.html) - ## 亮点 * 极易接入 @@ -34,15 +32,13 @@ DTM是一款golang开发的分布式事务管理器,解决了跨数据库、 * 跨语言 - 可适合多语言栈的公司使用。方便go、python、php、nodejs、ruby、c# 各类语言使用。 * 易部署、易扩展 - - 仅依赖mysql,部署简单,易集群化,易水平扩展 + - 支持零配置,或依赖mysql|redis,部署简单,易集群化,易水平扩展 * 多种分布式事务协议支持 - - TCC、SAGA、XA、事务消息 + - TCC、SAGA、XA、二阶段消息 ## 与其他框架对比 -目前开源的分布式事务框架,Java的框架较多,有大厂开源的SEATA、ServiceComb-Pack,shardingsphere,以及个人开源的himly,tcc-transaction,ByteTCC等等,其中以Seata的应用最为广泛。 - -非Java语言类的,暂未看到除dtm之外的成熟框架,因此这里仅将DTM和Java中最成熟的Seata对比: +非Java语言类的,暂未看到除dtm之外的成熟框架,因此这里将DTM和Java中最成熟的Seata对比: | 特性| DTM | SEATA |备注| |:-----:|:----:|:----:|:----:| @@ -69,31 +65,27 @@ DTM是一款golang开发的分布式事务管理器,解决了跨数据库、 ## 微服务框架支持 - [go-zero](https://github.com/zeromicro/go-zero):一开源就非常火爆的微服务框架,首家接入dtm的微服务框架。感谢go-zero作者[kevwan](https://github.com/kevwan)的大力支持 - [polaris](https://github.com/polarismesh/polaris): 腾讯开源的注册发现组件,以及在其上构建的微服务框架。感谢腾讯同学[ychensha](https://github.com/ychensha)的PR -- 其他:看用户需求量,择机接入 +- 其他:看用户需求量,择机接入,参见[微服务支持](https://dtm.pub/protocol/intro.html) -具体微服务接入使用,参见[微服务支持](https://dtm.pub/protocol/intro.html) ## 快速开始 -### 获取代码 - -`git clone https://github.com/dtm-labs/dtm && cd dtm` +如果您不是Go语言,可以跳转[各语言客户端及示例](https://dtm.pub/summary/code.html#go),里面有相关的快速开始示例 -### dtm依赖于mysql +### 运行dtm -安装[docker 20.04+](https://docs.docker.com/get-docker/)之后 - -`docker-compose -f helper/compose.mysql.yml up` +``` bash +git clone https://github.com/dtm-labs/dtm && cd dtm +go run main.go +``` -> 您也可以配置使用现有的mysql,需要高级权限,允许dtm创建数据库 -> -> `cp conf.sample.yml conf.yml # 修改conf.yml` +### 启动并运行一个saga示例 +下面运行一个类似跨行转账的示例,包括两个事务分支:资金转出(TransOut)、资金转入(TransIn)。DTM保证TransIn和TransOut要么全部成功,要么全部回滚,保证最终金额的正确性。 -### 启动并运行saga示例 -`go run app/main.go qs` +`go run qs/main.go` -## 开始使用 +## 接入详解 -### 使用 +### 接入代码 ``` GO // 具体业务微服务地址 const qsBusi = "http://localhost:8081/api/busi_saga" @@ -117,23 +109,16 @@ DTM是一款golang开发的分布式事务管理器,解决了跨数据库、 -### 完整示例 -参考[examples/quick_start.go](./examples/quick_start.go) +### 更多示例 +参考[dtm-labs/dtm-examples](https://github.com/dtm-labs/dtm-examples) -## 公众号 -您可以关注公众号:分布式事务,及时跟踪dtm的最新内容 -## 交流群 +## 联系我们 +### 公众号 +dtm官方公众号:分布式事务,大量干货分享,以及dtm的最新消息 +### 交流群 请加 yedf2008 好友或者扫码加好友,验证回复 dtm 按照指引进群 ![yedf2008](http://service.ivydad.com/cover/dubbingb6b5e2c0-2d2a-cd59-f7c5-c6b90aceb6f1.jpeg) 欢迎使用[dtm](https://github.com/dtm-labs/dtm),或者通过dtm学习实践分布式事务相关知识,欢迎star支持我们 -## 谁在使用 -
- 腾讯 - 常青藤爸爸 - 镜小二 - 极欧科技 - 金数智联 -