![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式事务
知鱼
https://blog.csdn.net/qq_41790443/article/details/80108458 架构师成长之路
展开
-
TCC-Transaction 分布式事务源码解读(一、概要及实现原理)
1. 概念TCC事务 为了解决在事务运行过程中大颗粒度资源锁定的问题,业界提出一种新的事务模型,它是基于业务层面的事务定义。锁粒度完全由业务自己控制。它本质是一种补偿的思路。它把事务运行过程分成 Try、Confirm / Cancel 两个阶段。在每个阶段的逻辑由业务代码控制。这样就事务的锁粒度可以完全自由控制。业务可以在牺牲隔离性的情况下,获取更高的性能。Try: 尝试执行业务...原创 2019-01-10 17:38:44 · 1084 阅读 · 0 评论 -
TCC-Transaction 分布式事务源码解读(二、如何发布Tcc服务)
配置tcc-transaction1 引用tcc-transaction在服务调用方和提供方项目中需要引用tcc-transaction-spring jar包,如使用maven依赖: <dependency> <groupId>org.mengyun</groupId> <artifactId>t...原创 2019-01-10 18:00:05 · 481 阅读 · 0 评论 -
TCC-Transaction 分布式事务源码解读(三、框架如何感知Tcc服务)
上文中提到发布TCC服务只需在service实现类的方法上加@Compensable ,那么该方法就变为TCC中的try方法:@Compensable(confirmMethod = "confirmRecord", cancelMethod = "cancelRecord", transactionContextEditor = MethodTransactionContextEditor...原创 2019-01-11 18:48:19 · 729 阅读 · 0 评论 -
TCC-Transaction 分布式事务源码解读(四、框架感知Tcc服务后具体做了哪些事)
位置3、在所拦截方法的前后执行3中的@compensable TransactionInterceptor.interceptCompensableMethod(pjp)代码(后续重点解读该处代码)那么接下来继续分享位置3中的代码是如何执行的?位置1:根据注解中的事务传播特性、事务是否已激活、transactionContext 来计算当前方法是ROOT、还是PROVIDER或者是N...原创 2019-01-12 16:41:59 · 448 阅读 · 0 评论