事务是一组不可分组的操作集合,这些操作要么都成功执行,要么都取消执行。最典型的需要事务的场景是银行账户间的转账:假如 A 账户要给 B 账户转账 100 元,那么 A 账户要扣减 100 元,B 账户要增加 100 元,这两个账户的数据变更都成功才可算作转账成功。更严格来说,可以用 ACID 四个特性表述事务:
- Atomicity:原子性,事务中的所有操作要么都成功执行,要么都取消执行,不能存在部分执行,部分不执行的状态。
- Consistency:一致性,举个例子简单的理解就是,A、B 两个账户各有 100 元,无论两个账户并发相互转账多少次,两个账户的资金总额依然是 200 元。
- Isolation:隔离性,并发事务之间的相互影响程度,隔离性也是分级别的:读未提交、读已提交、可重复读等。
- Durability:持久性,事务完成后对数据的更改不会丢失。
单体数据库不涉及网络交互,所以在多表之间实现事务是比较简单的,这种事务我们称之为本地事务。
如果你的简历出现Dubbo或Spring cloud的字眼,通常面试官都会问你分布式事务的问题,因为你项目用了Dubbo或Spring cloud分布式框架,就必定要解决分布式事务的难题。如果你想拿到高薪offer,请学好分布式事务技能。
通过分布式事务的学习,可以让你不仅了解分布式事务的理论知识,并且可以真正掌握企业中真实的分布式事务应用实践以及分布式事务常见面试题的解决方案。
市面上的分布式事务+RocketMQ消息中间件教程大多仅限于理论知识讲解,很少有具体的实现方案案例,于是乎我在这个星期也没闲着整理了这份**【+jcc4261获取】**关于分布式事务源码+笔记+项目实战的资料。
第一份笔记:分布式事务实战笔记
=
一,本地事务和分布式事务的概念和区别
二,分布式事务解决方案模型\规范\接口\方案的关系
-
分布式事务中的模型与规范
-
补偿事务(TCC)
-
本地消息表(异步确保)
-
MQ 事务消息
三,分布式事务实战--Atomikos
-
Atomikos分布式事务
四,fescar分布式事务实现
-
fescar介绍
-
分布式事务案例说明
-
建库操作
-
公共工程搭建
-
业务层搭建
五,RocketMQ事务消息
-
RocketMQ事务消息流程
-
事务消息生产者
-
事务消息消费
-
分布式事务实现流程
六,Lcn分布式事务框架介绍
-
什么是LCN框架
-
框架特点
-
LCN框架原理
-
核心步骤
-
SpringCloud整合LCN框架实战
-
准备的软件环境
-
测试用例分析
-
构建测试用例
七,Lcn框架集成实战
第二份笔记:RocketMQ架构师笔记
-
RocketMQ介绍,RocketMq中消息的发送,RocketMQ消息消费
-
深入消息发送,深入消息模式,顺序消息
-
延时消息,死信队列,消费幕等
-
消息过滤,RocketMQ存储概要设计,RocketMQ中的事务消息
-
RocketMQ主从同步(HA)机制,限时订单实战,RocketMQ源码分析