![](https://img-blog.csdnimg.cn/202106012307004.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
事务
文章平均质量分 93
事务
爱喝咖啡的程序员
这个作者很懒,什么都没留下…
展开
-
07_ByteTCC源码分析 0.4.x版本
07_ByteTCC源码分析 0.4.x版本一. 说明二. ByteTCC启动时做了哪些事情?三. 接收到外部请求后,主业务服务是如何向从业务服务发起try请求的?3.1 ByteTCC框架提供的CompensableHandlerInterceptor preHandle( )3.2 ByteTCC框架提供的CompensableMethodInterceptor invoke()3.3 spring-tx提供的TransactionInterceptor invoke( )4. ByteTCC框架提供原创 2021-06-14 20:50:19 · 693 阅读 · 2 评论 -
06_TCC分布式事务
一. 常用的TCC技术方案1.1 通用型TCC技术方案适用于大多数场景,主要由以下三个组件构成:主业务服务它调用了其它从业务服务的方法,有着分布式事务的需求,负责整个分布式事务的编排、管理、执行以及回滚操作。从业务服务对外提供接口,实现自己的业务功能,供主有任务服务调用。从业务服务至少要实现三个接口:try接口、confirm接口、cancel接口。业务活动管理器负责记录分布式事务中,各个从业务服务的事务状态,以及向从业务服务发起confirm、cancel等调用请求。通用型的TCC技原创 2021-06-13 10:30:53 · 313 阅读 · 2 评论 -
05_CAP与BASE原理
05_CAP与BASE原理一. CAP原理1.1 一致性1.2 可用性1.3 分区容忍性1.4 CAP的各种组合二. BASE理论一. CAP原理1.1 一致性C,#就是Consistency。客户端向分布式系统请求处理数据,分布式系统响应SUCCESS后,客户端查询数据时,能查看到最新的数据。什么是一致性?当客户端接收到SUCCESS后,再次请求分布式系统,能获取到最新的,被修改的数据信息,这就是一致性。什么是不一致?A:假如客户端明明接受到了SUCCESS,由于服务A-节点1没原创 2021-06-11 22:44:39 · 255 阅读 · 0 评论 -
04_基于JTA+Druid多数据源+Atomikos实现单实例多数据源的事务控制
04_基于JTA+Druid多数据源+Atomikos实现分布式事务一. JTA+Druid+Atomickos的使用方式1.1 引入依赖1.2 增加配置1.3 druid数据源配置1.4 增加事务注解二. JTA+Atomikos分布式事务的源码分析2.1 创建分布式事务2.2 创建Datasource和Connection2.3 发送XA START2.4 发送XA END指令一. JTA+Druid+Atomickos的使用方式1.1 引入依赖<dependency> <gr原创 2021-06-06 22:05:49 · 1379 阅读 · 3 评论 -
03_XA规范和2PC分布式事务
03_XA规范和2PC分布式事务一. 为什么要引入XA规范、2PC分布式事务等概念?二. XA规范是什么?三. 2PC理论是什么?四. 2PC理论的缺陷是什么?五. 3PC理论是什么?六. 模拟实现Mysql XA分布式事务一. 为什么要引入XA规范、2PC分布式事务等概念?假设我们开发了一个应用,起初只接入了一个数据库,系统运行的很好,但随着系统流量增大、需要存储的数据量增多,我们不得不进行分库分表。应用内,某些方法可能需要同时请求多个数据库。@Transactionalpublic void原创 2021-06-05 23:36:12 · 340 阅读 · 0 评论 -
02_Spring事务框架源码
Spring事务框架源码一. 粗略分析@Transactional二. 探究Spring-tx.jar一. 粗略分析@Transactional假设现在有如下案例。public class ServiceA { @Autowired private class ServiceB serviceB; public void test() { serviceB.method(); }}public class ServiceB { @Transactional(rollback =原创 2021-06-05 16:46:04 · 204 阅读 · 1 评论 -
01_事务基础知识
事务基础知识一. 事务的ACID二. 事务的隔离级别2.1 读,未提交(READ UNCOMMITTED)2.2 读,已提交(READ COMMITTED)2.3 可重复读(REPEATABLE READ)2.4 幻读一. 事务的ACIDAtomic: 原子性一组SQL放在一起执行,要么全部执行成功,要么就都别执行,不存在部分执行成功的状态。(关注的是数据的状态)Consistency: 一致性在事务的执行过程中,中间状态的数据对外不可见,只有最初和最终的状态对外可见。(关注的是数据的可见性)原创 2021-06-03 21:46:27 · 218 阅读 · 2 评论