0
点赞
收藏
分享

微信扫一扫

B2C电商项目(第十一天、分布式事务解决方案、Seata实现分布式事务、消息队列实现分布式事务、订单服务和用户服务业务代码)


一、分布式事务解决方案

学习目标 :

  1. 了解本地事务与分布式事务
  2. 了解CAP理论与BASE理论
  3. 了解常见分布式事务解决方案
  4. 能够通过Seata实现分布式事务
  5. 能够通过消息队列实现分布式事务

刚才我们编写的扣减库存与保存订单是在两个服务中存在的,如果扣减库存后订单保存失败了是不会回

滚的,这样就会造成数据不一致的情况,这其实就是我们所说的分布式事务的问题,接下来我们来学习

分布式事务的解决方案。

1.1 本地事务与分布式事务

1.1.1 事务

数据库事务(简称:事务,Transaction)是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操

作序列构成。

事务拥有以下四个特性,习惯上被称为ACID特性:

原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么

都不执行。

一致性(Consistency):事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致状态是

指数据库中的数据应满足完整性约束。除此之外,一致性还有另外一层语义,就是事务的中间状态不能

被观察到(这层语义也有说应该属于原子性)。

隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行,如同只有这一个

操作在被数据库所执行一样。

持久性(Durability):已被提交的事务对数据库的修改应该永久保存在数据库中。在事务结束时,此操

作将不可逆转。



举报

相关推荐

0 条评论