Java服务器端编程RxJavaJava

分布式事务产生的背景

2021-09-15  本文已影响0人  迦叶_金色的人生_荣耀而又辉煌

上一篇 <<<Kibana环境安装及常用命令
下一篇 >>>解决分布式事务的核心思路


1.分布式事务产生背景

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

2.分布式事务具体原因

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

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

推荐阅读:
<<<解决分布式事务的核心思路
<<<柔性事务和刚性事务(ACID)
<<<CAP理论简单概况
<<<Base理论核心思想
<<<一致性协议--XA接口
<<<一致性协议--Jta规范
<<<一致性协议--2PC提交协议
<<<一致性协议--3PC提交协议
<<<2PC与3PC协议的提交区别
<<<主流的分布式事务解决框架
<<<LCN-框架介绍
<<<LCN-实现原理剖析
<<<LCN-事务协调者(TM)安装启动
<<<SpringBoot整合LCN
<<<LCN-核心源码分析
<<<LCN-集群模式介绍
<<<Seata-框架介绍
<<<Seata原理实现/执行流程/生命周期
<<<Seata-TM执行时突然宕机了会造成什么问题
<<<Seata-核心源码分析
<<<SpringBoot整合Seata
<<<Seata与Lcn的区别

上一篇 下一篇

猜你喜欢

热点阅读