分布式事务解决方案

原创 2018年04月16日 22:48:46

分布式事物总体有两类方案:

①刚性方案,全局事物(标准的分布式事物)如二阶段提交协议。

【尽量保证了数据的强一致,适合对数据强一致要求很高的关键领域。实现复杂,牺牲了可用性,对性能影响较大,不适合高并发高性能场景】

②柔性方案:

1)可靠消息最终一致性(异步确保型)

2)TCC (Try-Confirm-Cancel)(补偿型)

3)最大努力通知(非可靠消息,定期校对)

4)纯补偿型

以下是柔性方案中的几个实现


可靠消息最终一致性-本地消息服务



可靠消息最终一致性-本地消息服务



可靠消息最终一致性-独立消息服务

如果使用RocketMQ,在本地应用的逻辑代码里(橘黄色字体)可以不用这样写。如果是ActiveMQ、RabbitMQ 和 Kafka需要分三个阶段①预发送消息②业务逻辑③确认发送消息。

RocketMQ事物消息:

第一阶段Prepared消息,会拿到消息的地址。

第二阶段执行本地事务。

第三阶段通过第一阶段拿到的地址去访问消息,并修改状态。

也就是说在业务方法内要想消息队列提交两次请求,一次发送消息和一次确认消息。如果确认消息发送失败了RocketMQ会定期扫描消息集群中的事务消息,这时候发现了Prepared消息,它会向消息发送者确认,所以生产方需要实现一个check接口,RocketMQ会根据发送端设置的策略来决定是回滚还是继续发送确认消息。这样就保证了消息发送与本地事务同时成功或同时失败。


rocketMq事物消息

最大努力通知

分布式事务解决方案(一)

分布式事务的一致性分为两种,实时一致性和最终一致性,实时一致性要求的客户可接受的时间内完成数据操作,最终一致性要求在较长的时间内保证数据一致即可。...
  • u010293698
  • u010293698
  • 2016-08-31 21:53:19
  • 1984

微服务架构的分布式事务解决方案

  • 2017年10月17日 15:36
  • 48B
  • 下载

分布式事务及分布式系统一致性解决方案

在分布式系统中,同时满足“一致性”、“可用性”和“分区容错性”三者是不可能的。分布式系统的事务一致性是一个技术难题,各种解决方案孰优孰劣? 在OLTP系统领域,我们在很多业务场景下都会面临事务一致性...
  • dinglang_2009
  • dinglang_2009
  • 2016-07-02 10:46:24
  • 16618

微服务架构的分布式事务解决方案 龙果 百度云 百度网盘

  • 2018年03月16日 15:04
  • 68B
  • 下载

微服务架构的分布式事务的几个解决方案

微服务架构的分布式事务的几个解决方案 在网上看了很多的关于分布式事务的文章,在此总结下微服务架构下的分布式事务的几个方式 一、尽量在业务上和技术上避免分布式事务          显而易见,微服务...
  • qq_17805795
  • qq_17805795
  • 2017-02-07 15:38:32
  • 2248

【备忘】2017年7月最新微服务架构的分布式事务解决视频教程

2017年7月最新微服务架构的分布式事务解决视频教程
  • qq_38472241
  • qq_38472241
  • 2017-11-13 12:55:34
  • 532

微服务架构的分布式事务解决方案--第01节--课程介绍

  • 2016年08月24日 17:29
  • 16.72MB
  • 下载

分布式事务解决方案--GTS(二)

场景 阿里云提供了一个经典分布式事务的场景 A 和 B 两个账户的数据分别位于两个RDS数据库中。A转账给B,转账10次,前5次成功,后5次失败。使用GTS事务保证A和B两个账户的总金额始终不...
  • lunwuciyu
  • lunwuciyu
  • 2018-03-20 23:32:42
  • 42

微服务架构的分布式事务场景及解决方案分析

分布式系统架构中,分布式事务问题是一个绕不过去的挑战。而微服务架构的流行,让分布式事问题日益突出! 下面我们以电商购物支付流程中,在各大参与者系统中可能会遇到分布式事务问题的场景进行详细的分析!...
  • wushuicheng
  • wushuicheng
  • 2016-07-16 22:04:36
  • 12856

Dubbo分布式事务解决方案

  • 2016年07月20日 22:36
  • 1.81MB
  • 下载
收藏助手
不良信息举报
您举报文章:分布式事务解决方案
举报原因:
原因补充:

(最多只允许输入30个字)