分布式事务产生的背景

上一篇 <<<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的区别

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容