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 服务可用性

image-20221207170002559

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

image-20221207171851209

1.5.3.1.2.4. 3pc

增加了预提交流程

image-20221207172050329

1.5.3.1.2.5. TCC事务模型

又称补偿事务,核心:针对每个操作都要注册一个与其对应的确认和补偿(撤销操作)。分为三个操作:

  • try阶段:主要是对业务系统做检测及资源预留
  • confirm阶段:确认执行业务操作
  • canel阶段:取消执行业务操作

容易产生数据不一致性。

image-20221207172831342

1.5.3.1.2.6. MQ事务

image-20221207173105467

事务最终一致性

1.5.3.1.3. Seata 分布式事务

image-20221207175311242

results matching ""

    No results matching ""