分布式事务产生的背景

上一篇 << 下一篇 >>>解决分布式事务的核心思路


1.分布式事务产生背景

a、传统项目中单数据源下不存在分布式事务问题。
a、传统项目中多数据源的情况下,每个数据源都有独立的事务,而且互不影响,可能会产生分布式事务问题,解决方案jta+ Atomikos。
b、微服务项目中各JVM均有自己的事务管理器,且互不影响,会存在分布式事务的问题。

2.分布式事务具体原因

a、调用方(订单服务)调用完RPC接口之后抛出异常事务回滚了,但被调用方未回滚,造成数据不一致。
b、被调用方(库存服务)接口失败的话,调用方可以根据返回结果回滚本地事务,不会造成数据不一致。
伪代码:

下单方法(){
    调用方(订单服务)完成下单操作();
    被调用方(库存服务)完成扣除操作();
    抛出异常;
} 

推荐阅读:
<<<解决分布式事务的核心思路
<<<柔性事务和刚性事务(ACID)
<< << <<<一致性协议--XA接口
<<<一致性协议--Jta规范
<<<一致性协议--2PC提交协议
<<<一致性协议--3PC提交协议
<<<2PC与3PC协议的提交区别
<<<主流的分布式事务解决框架
<< << << << << << << << << << << <<

你可能感兴趣的:(分布式事务产生的背景)