![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式事物
文章平均质量分 66
祁_z
这个作者很懒,什么都没留下…
展开
-
LCN分布式事务解决框架 - 项目使用V2
springboot整合lcn5.01.官网下载源码,txlcn-tm项目就是事务协调者(带后台管理页面)1.1. 后台管理页面登录密码在EnableTranscationManagerServer类中查看或修改Maven依赖<dependency> <groupId>com.codingapi.txlcn</groupId>...原创 2020-03-01 21:33:03 · 154 阅读 · 0 评论 -
Seata问题记录
1. Seata不支持Multi PK复合主键问题:集成seata后无法支持spring quartz框架的复合主键。org.quartz.JobPersistenceException: Failure updating scheduler state when checking-in: Multi PKCaused by: io.seata.common.exception.NotSupportYetException: Multi PK解决方法:改变quartz 的sq..原创 2021-07-12 16:32:22 · 661 阅读 · 0 评论 -
分布式事务:常用解决方案2PC、3PC、TCC概念
常见的分布式事务解决方案:2PC、3PC、TCC、最终一致性(消息中间件+消息表)。下边看看各个方案的优缺点。2PC首先2PC和3PC都属于XA协议;XA 协议中分为两部分:本地资源管理器和事务管理器。其中本地资源管理器往往由数据库实现,而事务管理器则作为一个全局的调度者。 优点:两阶段提交(2PC),对业务侵⼊很小,它最⼤的优势就是对使⽤⽅透明,用户可以像使⽤本地事务⼀样。缺点:2PC是一个强一致性的同步阻塞协议,事务执⾏过程中需要将所需资源全部锁定,也就是俗称的刚性事务...原创 2021-01-30 22:26:46 · 585 阅读 · 0 评论 -
RocketMQ解决分布式事务
目录RocketMQ解决分布式事务思路核心代码发送方消费者手动事务RocketMQ解决分布式事务思路首先我们基于MQ异步实现派单,采用rocketmq实现。(订单系统 >>派单系统)伪代码:{ int id= insertOrder(orderEntity); // 新增订单到数据库 send(id); // 发送订单id到派单系统 - MQ队列 int a = 1 / 0;}产生问题:下单失败、派单成功;Rocke...原创 2020-05-19 22:43:50 · 599 阅读 · 1 评论 -
Seata原理!
Seata和LCN的区别1. 基本实现思路是一样的,唯一区别在于回滚方式,LCN采用代理数据源假关闭连接,暂时不提交本地事务,但是容易造成死锁。 -- 假关闭其实就是api,因为连接也是可以被aop代理的,原生的commit被拦截到就不会走commit会进行wait线程等待,等待全局事务协调者发送通知是提交还是回滚。2. seata采用undo_log的形式逆向生成sql语句实现回...原创 2020-08-22 10:03:15 · 1383 阅读 · 2 评论 -
Seata解决分布式事务框架 - 项目使用V2
Seata的基本环境搭建Seata环境的安装启动seata-server 全局事务协调者seata-server.bat修改 registry.conf和file.conf配置双击启动我们的seata-server.bat即可在需要解决分布式事务的数据库中,手动创建undo_log表 否则的情况下会报错Seata客户端整合<dependency&g...原创 2020-08-22 10:04:00 · 530 阅读 · 2 评论 -
支付回调中使用mq解决分布式事务问题
MQ:rabbitMQ解释:1.支付回调中(支付成功),修改预支付中支付字段为已支付前,先进行查询判断是否已经修改为已支付状态,如若是已支付状态,直接返回支付成功状态给第三方支付平台(后边代码就不会执行,就不会出现幂等性问题),反之执行(1)修改支付状态(2)修改积分服务增加用户积分。2.如若在调用完积分服务后程序出现错误,就会出现:支付状态回滚至未支付,积分反倒是增加了...原创 2020-03-01 15:10:08 · 720 阅读 · 0 评论 -
RabbitMQ解决分布式事务
RabbitMQ解决分布式事务https://www.cnblogs.com/toov5/p/10289999.html案例:经典案例,以目前流行点外卖的案例,用户下单后,调用订单服务,让后订单服务调用派单系统通知送外卖人员送单,这时候订单系统与派单系统采用MQ异步通讯。RabbitMQ解决分布式事务原理: 采用最终一致性原理。需要保证以下三要素1、确认生产者一定要将数据投递到MQ...原创 2020-03-01 15:09:51 · 207 阅读 · 0 评论