分布式事务
文章平均质量分 80
分享分布式事务方面的实战经验
dongfuye
广泛涉猎各种技术,github.com/yedf
展开
-
用python轻松完成一个分布式事务TCC,保姆级教程
什么是分布式事务?银行跨行转账业务是一个典型分布式事务场景,假设A需要跨行转账给B,那么就涉及两个银行的数据,无法通过一个数据库的本地事务保证转账的ACID,只能够通过分布式事务来解决。 分布式事务就是指事务的发起者、资源及资源管理器和事务协调者分别位于分布式系统的不同节点之上。在上述转账的业务中,用户A-100操作和用户B+100操作不是位于同一个节点上。本质上来说,分布式事务就是为了保证在分布式场景下,数据操作的正确执行。 什么是TCC分布式事务,TCC是Try、Confirm、Cancel三个词语的缩原创 2021-08-02 16:10:56 · 342 阅读 · 0 评论 -
分布式事务最经典的七种解决方案
随着业务的快速发展、业务复杂度越来越高,几乎每个公司的系统都会从单体走向分布式,特别是转向微服务架构。随之而来就必然遇到分布式事务这个难题,这篇文章总结了分布式事务最经典的解决方案,分享给大家。 基础理论 在讲解具体方案之前,我们先了解一下分布式事务所涉及到的基础理论知识。 我们拿转账作为例子,A需要转100元给B,那么需要给A的余额-100元,给B的余额+100元,整个转账要保证,A-100和B+100同时成功,或者同时失败。看看在各种场景下,是如何解决这个问题的。 事务 把多条语句作为一个整体原创 2021-07-13 19:04:02 · 372 阅读 · 0 评论 -
分布式事务实战--go语言的saga事务
我们团队在引入go语言做微服务的过程中,遇见了分布式事务的强需求。我们的交易中心涉及大量的业务,包括了商品、库存、各类营销活动、商品权限等等,按照我们微服务的设计,需要拆分到多个微服务。原先由本地事务保证的ACID,现在需要分布式事务方案来保证交易的正确性。 我们调研了大量开源项目,发现只有java提供了分布式事务的中间件,其他语言,暂未发现成熟的方案。这种背景下,我们内部开发了针对go语言分布式事务的DTM项目,线上稳定之后,我们将它开源出来,github地址为:yedf/dtm。 虽然DTM最初针.原创 2021-07-03 11:20:22 · 694 阅读 · 0 评论