什么是分布式事务?

目录

什么是事务

什么是分布式事务

分布式事务使用场景


 

什么是事务

 

我们先来回顾下什么是事务

https://blog.csdn.net/Delicious_Life/article/details/105466757 

 

 

什么是分布式事务

 

 指的是分布式环境下不同服务之间通过网络远程协作完成的事务。

什么是分布式事务?_第1张图片

传统的方式无法解决分布式事务问题:

上图是一个分布式事务小例,你会想到@Transactional,这个注解是spring对数据库事务的java实现。

当1和2都完全成功的确保证了事务成立。可是如果1成功,2成功且2没有返回它成功的信息时,本地事务等待超时会被认为提交失败导致回滚,张三会看到交易失败,没扣钱。但李四会发现自己的钱交易成功却没变,这就出现分布式事务问题了~。

思考下为什么会出现远程服务成功但本地事务收不到的情况?因为网络具有不可靠性!

 

 

分布式事务使用场景

 

1.微服务之间远程调用完成事务操作

什么是分布式事务?_第2张图片

2.单体系统访问多个数据库实例(分布式部署的数据库)

什么是分布式事务?_第3张图片

3.多服务访问同一个数据库实例

什么是分布式事务?_第4张图片

你可能感兴趣的:([分布式事务,锁,缓存])