一句话说明白java中分布式事务及应用场景

        关于分布式事务,目前处理的理论支撑是CAP理论:分布式系统在设计时只能在一致性(Consistency)、可用性(Availability)、
分区容忍性(Partition Tolerance)中满足两种,无法兼顾三种。

        大家可以先去了解什么是CAP,在这里,我就是做一下浓缩的总结。首先,分布式事务的场景,什么情况下会涉及到分布式事务呢?这里一句话说清楚:当有一个比较复杂的业务要处理,一个大的事务里有多个小的事务,并且这些小的事务可能分布在不同的服务上,只要有一个小事务处理失败,整个事务团体全部都要回滚到事务执行前,这就是分布式事务涉及的问题场景。

        面对此种问题场景,目前没有很简单的一步到位的插件或者api或者现成的方法可用的,总结一下,主要三种处理方案:

       1.外层大事务映射数据库的分布式事务,通过XA协议,利用数据库的分布式事务机制来进行事务的一致性协调。

       2.人为的为每个小事务设置一个状态,执行成功则返回一个成功状态给外层的总事务,一旦有一个返回失败状态,之前成功了的所有小事务再通过人工逻辑反写回去。

       3.采用消息队列的一致性机制,把一个大的请求通过MQ释放出去分割成一个个小的请求,并通过手动ACK去返回每个小请求的提交状态,有一个失败则全体回滚。

        个人觉得能否像Feign,Ribbon一样,搞个注解引入一下,就能实现分布式事务管理方案,应该是可行的…

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值