1.5.3.1.1. 数据库事务
A(原子性atomicity)
C(一致性consistency)
I(隔离性isolation)
D(持久性durability)
1、跨库事务
2、分库分表
1.5.3.1.2. 分布式事务理论
1.5.3.1.2.1. CAP原理
- C 数据一致性
- P 分区容错性
- A 服务可用性
1.5.3.1.2.2. BASE理论
Basically Available(基本可用)、Soft-state(软状态/柔性事务)、Eventual Consistency(最终一致性)。
核心思想:即时无法做到强一致性,但每个业务根据自身特点,采用适当方式来使系统达到最终一致性
刚性事物
刚性事物是原子,要么都成功要么都失败,保证ACID理论,而柔性事务只需要保证数据最终一致即可(base)
柔性事务分为:
- 两阶段型 (2pc 、3pc)
- 补偿性
- 异步确保型
- 最大努力通知型
TDP模型
- 应用程序(Applicaiton Program 简称AP):用于定义事务边界(即定义事务开始和结束),并且在事务边界内对资源进行操作
- 资源管理器(Resource Manager 简称RM): 数据库、文件系统、提供访问资源方式
- 事务管理器(Transaction Manager 简称TM):负责分配事务唯一标识,监控事务执行进度,并负责事务提交、回滚等
- 通信资源管理器(Communication Resource Manager 简称CRM): 控制一个TM域内或者跨TM域的分布式应用之间的通信
- 通信协议(Communication Protocol 简称CP):提供CRM提供的分布式应用节点之间的底层通信服务
1.5.3.1.2.3. 2pc
1.5.3.1.2.4. 3pc
增加了预提交流程
1.5.3.1.2.5. TCC事务模型
又称补偿事务,核心:针对每个操作都要注册一个与其对应的确认和补偿(撤销操作)。分为三个操作:
- try阶段:主要是对业务系统做检测及资源预留
- confirm阶段:确认执行业务操作
- canel阶段:取消执行业务操作
容易产生数据不一致性。
1.5.3.1.2.6. MQ事务
事务最终一致性