业务侵入型 TCC 模式
前面我们看了看 Seata XA 和 AT 模式,这里再来看一看 Seata TCC 这种业务侵入型的事务模式。 什么是 TCC TCC 即 Try-Confirm-Cancel,是 Seata 全局分布式事务框架下的一种具有业务侵入性的事务模式。 TCC 要求业务方自行实现资源 …
继续阅读标签
共 7 篇
前面我们看了看 Seata XA 和 AT 模式,这里再来看一看 Seata TCC 这种业务侵入型的事务模式。 什么是 TCC TCC 即 Try-Confirm-Cancel,是 Seata 全局分布式事务框架下的一种具有业务侵入性的事务模式。 TCC 要求业务方自行实现资源 …
继续阅读Apache Seata 是一款分布式事务解决方案,它提供了四种可选的模式,包括 XA、AT、TCC 以及 SAGA。 这里我们主要聊一聊默认的 AT 模式,参考 incubator-seata-2.2.0。 Seata 的三大组件 我们知道,分布式事务的问题本质是由于分支事务之 …
继续阅读上一篇文章我们说了说 Seata AT 模式,这篇文章就来聊一聊 XA 模式,包括两阶段提交、MySQL XA。 其中 Seata XA 的内容主要参考了 分布式事务如何实现?深入解读 Seata 的 XA 模式 | Apache Seata. 什么是 XA XA 规范是 …
继续阅读最大努力通知,听起来有点"尽人事"的意味——我通知你,但不保证你一定收到。这其实是分布式事务的另一种思路,跟本地消息表、事务消息那种"死磕到底"的方式不一样。 今天我们结合微信支付的场景,把这个方案彻底聊透。 从微信支付说起 微信 …
继续阅读微服务拆分之后,一个原本在单体里用本地事务搞定的操作,被拆成了两个服务各管一段。调用方式从本地调用换成了 MQ,问题也跟着来了——本地事务和消息发送,怎么保证一致性? 这篇文章就把这个问题从头到尾捋一遍。 问题是怎么来的 先说一个典型场景。用户下单之后,订单服务需要做两件事:在本 …
继续阅读1 问题背景 讨论分布式事务时,“一致性”几乎是绕不开的词。但这个词也最容易制造误解:有人把分布式事务等同于强一致性,有人把 Raft 也归到“一致性方案”里,于是 2PC、TCC、SAGA、Raft、CAP、BASE 被放在同一层讨论。 这里真正需要先厘清的是:一致性不是一个单 …
继续阅读分布式事务这个词大家都不陌生,但我发现一个挺普遍的现象:很多人其实没搞清楚自己的业务到底存不存在分布式事务问题,要么该用没用,要么不该用的地方硬上了一套复杂方案。 所以今天这篇文章,先把「怎么判断分布式事务」这件事讲清楚,再聊解决方案怎么选。 先给个书面定义垫一下:分布式事务,是 …
继续阅读