TCC-Transaction
weixin_42073629
这个作者很懒,什么都没留下…
展开
-
TCC-Transaction 源码分析 —— 项目实战
1. 概述本文分享TCC 项目实战。以官方 Maven项目tcc-transaction-http-sample为例子(tcc-transaction-dubbo-sample类似 )。建议你已经成功启动了该项目。如果不知道如何启动,可以先查看《TCC-Transaction 源码分析 —— 调试环境搭建》。如果再碰到问题,欢迎加微信公众号(芋道源码),我会一一仔细回复。OK,首先我们简单了解下这个项目。首页 => 商品列表 => 确认支付页 => 支付结...原创 2020-06-14 23:34:46 · 211 阅读 · 0 评论 -
TCC-Transaction 源码分析 —— Dubbo 支持
1. 概述本文分享Dubbo 支持。TCC-Transaction 通过 Dubbo隐式传参的功能,避免自己对业务代码的入侵。可能有同学不太理解为什么说 TCC-Transaction 对业务代码有一定的入侵性,一起来看个代码例子:public interface CapitalTradeOrderService { String record(TransactionContext transactionContext, CapitalTradeOrderDto tradeOrde..原创 2020-06-14 23:22:04 · 210 阅读 · 0 评论 -
TCC-Transaction 源码分析 —— 运维平台
1. 概述本文分享运维平台。TCC-Transaction 提供了相对精简的运维平台,用于查看在《TCC-Transaction 源码分析 —— 事务存储器》提到的事务存储。目前暂时只有两个功能:查看未完成的事务列表 重置事务恢复重试次数运维平台( Maven 项目tcc-transaction-server) 整体代码结构如下:本文自下而上,Dao => Controller => UI 的顺序进行解析实现。你行好事会因为得到赞赏而愉悦同理,开源项目贡献者会因...原创 2020-06-14 20:40:23 · 218 阅读 · 0 评论 -
TCC-Transaction 源码分析 —— 事务恢复
1. 概述本文分享TCC 恢复。主要涉及如下二个 package 路径下的类:org.mengyun.tcctransaction.recover RecoverConfig,事务恢复配置接口 TransactionRecovery,事务恢复逻辑 org.mengyun.tcctransaction.spring.recover: DefaultRecoverConfig,默认事务恢复配置实现 RecoverScheduledJob,事务恢复定时任务 本文涉及到的类关系如..原创 2020-06-14 20:26:26 · 166 阅读 · 0 评论 -
TCC-Transaction 源码分析 —— 事务存储器
1. 概述本文分享事务存储器。主要涉及如下 Maven 项目:tcc-transaction-core:tcc-transaction 底层实现。在 TCC 的过程中,根据应用内存中的事务信息完成整个事务流程。But 实际业务场景中,将事务信息只放在应用内存中是远远不够可靠的。例如:应用进程异常崩溃,未完成的事务信息将丢失。 应用进程集群,当提供远程服务调用时,事务信息需要集群内共享。 发起事务的应用需要重启部署新版本,因为各种原因,有未完成的事务。因此,TCC-Transactio..原创 2020-06-14 20:22:56 · 174 阅读 · 0 评论 -
TCC-Transaction 源码分析 —— TCC 实现
1. 概述本文分享TCC 实现。主要涉及如下三个 Maven 项目:tcc-transaction-core:tcc-transaction 底层实现。 tcc-transaction-api:tcc-transaction 使用 API。 tcc-transaction-spring:tcc-transaction Spring 支持。你行好事会因为得到赞赏而愉悦同理,开源项目贡献者会因为 Star 而更加有动力为 TCC-Transaction 点赞!传送门OK,开始我...原创 2020-06-14 20:09:08 · 500 阅读 · 0 评论 -
TCC-Transaction 源码分析 —— 调试环境搭建
1. 依赖工具Maven Git JDK MySQL IntelliJ IDEA2. 源码拉取从官方仓库https://github.com/changmingxie/tcc-transaction.gitFork出属于自己的仓库。为什么要Fork?既然开始阅读、调试源码,我们可能会写一些注释,有了自己的仓库,可以进行自由的提交。????使用IntelliJ IDEA从Fork出来的仓库拉取代码。拉取完成后,Maven会下载依赖包,可能会花费一些时间,耐心等待下。本文...原创 2020-06-14 19:47:41 · 153 阅读 · 0 评论