![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
事务
我小叮当无可奈何
孤独且自由、无欲也无求
展开
-
分布式事务的原理及实际工作中遇到的解决方案
一、为什么存在分布式事务?因为系统微服务化后,服务拆分,数据库拆分导致一次更新可能在多服务(多JVM实例)下更新多数据源,无法应用单机事务,所以产生了分布式事务。二、 为什么分布式事务无法套用单机事务?由于多数据源,多服务实例导致服务调用需要使用远程调用等网络请求,网络请求会超时,如果套用单机事务会导致如下情况:A服务更新A库请求到达B服务请求返回A服务B服务更新B库最终结果成功成功成功失败a回滚b回滚成功成功失败成功a回滚b不回滚无原创 2020-09-21 17:59:58 · 382 阅读 · 0 评论 -
消息队列(RocketMQ):事务消息实现以及最终一致性
最近项目中有一个高并发的更新数据库单表单记录的功能,为了避免数据库压力,采取了更新该记录时候发送mq,进行流量消峰。但是该记录的更新要和其他表更新一起,就会有分布式事务的问题。所以就采用了RocketMQ的事务消息来实现分布式事务的一致性。RocketMQ前文中的阿里的rocketMq集成的ons框架配置以及普通、延时、定时消息实现的文章一、事务消息类型RockectMQ事务消息提供了X/Open XA的分布式事务的功能,能实现分布式事务的最终一致性。二、 X/Open XA规范是什么?X/OP原创 2020-09-18 15:31:01 · 4386 阅读 · 1 评论 -
@Transaction:Spring事务生效、失效的条件
事务相关由于公司做的是金融支付相关的业务,所以大量使用了事务,将入职以来遇到的事务相关的经验记录一下。一、Spring事务Spring 事务管理分为编码式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。声明式事务有两种方式,一种是在配置文件中做相关的事务规则声明,另一种是基于@Transactional 注解的方式。二、@Transaction注解属性原创 2020-09-15 14:24:36 · 1975 阅读 · 0 评论