美文网首页
可靠消息的最终一致性

可靠消息的最终一致性

作者: MisAutumn | 来源:发表于2020-07-10 13:22 被阅读0次

事务发起方执行完事务后发送一条消息,事务的参与方一定能够接收到消息并处理事务成功。强调最终一致。

  1. 本地事务和消息发送的原子性
    事务发起方在本地事务执行成功后消息必须发出,要不就都失败。
  2. 事务参与方接受消息的可靠性
    事务参与方必须能接收到消息,接收失败消息要被重复发送
  3. 消息重复消费问题
    要实现事务参与方的方法幂等性

解决方案:

  1. 本地消息表+定时任务 (交易)
    通过本地事务保证数据操作和消息的一致性,然后通过定时任务将消息发送给消息中间件,确认消息发送成功后删除消息。

a.数据操作和写入消息日志表在本地事务中具有一致性(业务+日志)
b.启动独立线程,定时任务扫描日志并发送给消息中间件,收到成功反馈后删除日志
c.消费消息可使用MQ的ack机制,消费方接收到消息并处理完成后发送确认,否则MQ将不断重复发送消息

  1. RocketMQ事务消息方案
  1. 最大努力通知 (交易后的通知)

目标:发起通知方尽最大努力将业务结果发给接收通知方。
具体:
a.有消息重发机制
b.有校对机制:如果尽最大努力也没通知到,或者接收方消费后要重复消费,此时可由接收方主动向通知方查询,通知方需要提供查询接口。

视频

相关文章

  • 分布式事务之解决方案(可靠消息最终一致性)

    5. 分布式事务解决方案之可靠消息最终一致性 5.1. 什么是可靠消息最终一致性事务 可靠消息最终一致性方案是指当...

  • 分布式事务解决方案-RocketMQ实现可靠消息最终一致性

    1.什么是可靠消息最终一致性事务 ​ 可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务...

  • 可靠消息最终一致性方案

    一、什么是可靠消息最终一致性方案? 可靠消息最终一致性方案是指当事务发起方执行完成本地事务后发出一条消息到消息中间...

  • 2020-04-22

    最终一致性: 借助可靠消息队列来实现TCC(try-confirm-cancel): 借助补偿来做回滚: 调用链要...

  • RocketMQ(八)消息类型--事务消息

    分布式事务的章节中,讲解了可靠消息最终一致性实现方案https://www.jianshu.com/p/3186a...

  • 分布式事物

    二阶段提交TCC:try confirm cancel,严格资金要求的场景本地消息表可靠消息最终一致性(mq) 坏...

  • 可靠消息的最终一致性

    事务发起方执行完事务后发送一条消息,事务的参与方一定能够接收到消息并处理事务成功。强调最终一致。 本地事务和消息发...

  • 分布式事务之MQ可靠消息

    使用MQ可靠消息能够解决分布式事务的最终一致性,但不是实时一致(强一致性)。所以使用时要注意应用场景。 MQ可靠消...

  • 分布式事务解决方案

    分布式事务的实现主要有以下 5 种方案: XA 方案 TCC 方案 本地消息表 可靠消息最终一致性方案 最大努力通...

  • Java从入门到入坑(架构篇)

    01:分布式 数据一致性、服务治理、服务降级 1:分布式事务 2PC、3PC、CAP、BASE、 可靠消息最终一致...

网友评论

      本文标题:可靠消息的最终一致性

      本文链接:https://www.haomeiwen.com/subject/xgygqktx.html