上一篇 <<<LCN-框架介绍
下一篇 >>>LCN-事务协调者(TM)安装启动
实现原理图
a.发起方和参与方在项目启动的时候都和全局协调者一直保持长连接;【好处减少宽带传输 弊端比较占内存。】
b、订单服务(发起方)调用库存服务接口(参与方)之前会向TxManager事务协调者创建一个事务的分组id。
c、订单服务(发起方)调用库存服务接口(参与方)的时候,重写feign客户端,在请求头中传递该事务分组的id
d、库存服务(参与方)获取到请求头中有传递对应的事务分组id,当前业务执行完毕之后不会提交事务,采用jdbc假关闭。
e、订单服务(发起方)执行时产生了回滚或提交的话,都会将该结果告诉协调者,协调者再讲结果群发给所有的参与方
注意事项
1、A调用B,B调用C,C调用D,事务组ID(groupId)只有一个,但每次的请求都有对应的事务单元ID(unitId)
2、事务的提交或回滚执行权都在发起发,多层参与方只能将异常层层上报。
推荐阅读:
<<<分布式事务产生的背景
<<<解决分布式事务的核心思路
<<<柔性事务和刚性事务(ACID)
<<<CAP理论简单概况
<<<Base理论核心思想
<<<一致性协议--XA接口
<<<一致性协议--Jta规范
<<<一致性协议--2PC提交协议
<<<一致性协议--3PC提交协议
<<<2PC与3PC协议的提交区别
<<<主流的分布式事务解决框架
<<<LCN-框架介绍
<<<LCN-事务协调者(TM)安装启动
<<<SpringBoot整合LCN
<<<LCN-核心源码分析
<<<LCN-集群模式介绍
<<<Seata-框架介绍
<<<Seata原理实现/执行流程/生命周期
<<<Seata-TM执行时突然宕机了会造成什么问题
<<<Seata-核心源码分析
<<<SpringBoot整合Seata
<<<Seata与Lcn的区别










网友评论