springboot2.1.6+nacos+feign+mysql+mybatisplus+seata实现简单的分布式事务强一致性简单demo

首先先参考千锋教育的李哥博客:

分布式事务解决方案之-alibaba-seata

他这个用的dubbo 我改了之后变成了feign调用 看个人需求取舍、、、
李哥教程视频 直接观看

前面的nacos服务和使用docker启动的seata 按照上面李哥的步骤搭建好。。。我这里说下遇到的坑。

GitHub地址:

我的代码地址 点击下载

代理数据源和mybatisplus的问题:
在这里插入图片描述
这里用hikari数据源的原因不能用url;
springboot2.1.6+nacos+feign+mysql+mybatisplus+seata实现简单的分布式事务强一致性简单demo
这里因为和mybatisplus整合的原因 不需要重写SqlSessionFactory对象 如果重写了 mybatisplus会找不到原来本地没被代理的。。。。反正注销就对了 踩过的坑。。

简单说下调用过程:

这里采用feign调用 order-》item 可以简单理解为 添加订单的时候添加订单项目的明细 这两者要遵循事务特性。。可以先简单的理解为 order对外服务 测试请求发到provider-order-service 有他发起事务 当然 你也可以再新建一个模块当作事务发起者 统一调用 order和item 我这为了简单测试就不搞了 嘻嘻O(∩_∩)O哈哈~
springboot2.1.6+nacos+feign+mysql+mybatisplus+seata实现简单的分布式事务强一致性简单demo
springboot2.1.6+nacos+feign+mysql+mybatisplus+seata实现简单的分布式事务强一致性简单demo
springboot2.1.6+nacos+feign+mysql+mybatisplus+seata实现简单的分布式事务强一致性简单demo
到此为止一个简单分布式事务就完成了 你拉我代码 改个数据库地址就能跑了、、、