Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
事件溯源
Kafka消息
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
更多话题
DTM:Golang中微服务架构的分布式事务框架
22-04-13
banq
一个支持多种语言的
分布式事务
框架,支持saga、tcc、xa、2-phase message、outbox patterns
发件箱
第一个致力于
微服务
分布式事务解决方案的开源 Golang 项目。
支持多种模式:Saga、XA、TCC、OutBox。
支持多种语言的 SDK:C#、PHP、Java、Node、Python。
已经被腾讯、字节跳动等许多公司采用。
DTM是一款变革性的分布式事务框架,提供了傻瓜式的使用方式,极大的降低了分布式事务的使用门槛,改变了“能不用分布式事务就不用”的行业现状。 dtm 的应用范围非常广,可以应用于以下常见的领域:
秒杀系统,保证Redis中精准的库存,和最终创建的订单完全一致,无需手动调整
保证缓存与DB的一致性
非单体的订单系统,大幅简化
架构
微服务架构(已原生支持
go-zero
等框架)中跨服务更新数据保证一致性
他优雅的解决了幂等、空补偿、悬挂等分布式事务难题,提供跨语言,跨存储引擎组合事务的强大功能。
banq:
分布式事务可能是个伪概念
,分布式事务中间件可能就是一个银弹,试图用技术解决业务上跨聚合的可靠性问题。
事务=交易=transaction,它是一个业务概念,而且事务ACID中一致性等是业务
DDD
聚合设计的重要依据,严格高一致事务只存在于DDD聚合内部,不同微服务之间的事务是最终一致性,类似流程事务。
1
分布式事务架构
分布式CAP定理
saga模式
业务流程BPM工作流