分布式事务实践(四)--可靠消息的最终一致性方案(集成独立消息服务)

前言

经过前面一篇文章的介绍:可靠消息的最终一致性方案(本地消息服务),我们已经了解了基于本地服务的最终一致性方案,本地消息服务有一定的优势,当然也有一定的弊端。这一篇我们就来了解下将本地消息服务优化成 独立部署的消息服务子系统。

方案介绍:

基本架构图:
这里写图片描述

关键模块:

生产者模块:业务操作;消息的持久化,投递以及确认,查询等功能。
消息子系统:存储预发送消息;确认并发送;查询状态确认超时的消息;确认消息已经被消费;查询消费确认超时的消息
MQ中间件:只是负责消息的投递
消息消费系统:负责消息的消费,以及真正的业务投递,以及MQ ack的应答;以及本地消息系统的消息确认。
消费者:真正的消费业务节点。
消息恢复系统:主要是对于消息的补单,对于超时未确认的消息进行二次发送的作用。
消息状态确认子系统:主要是对于业务状态更新超时的补单

关键流程时序图:
这里写图片描述

总结

优点:
消息服务独立部署,伸缩性以及维护性好
消息存储可以按需选择不同的方式集成实现
可以被相同的使用场景复用,降低重复建设的成本
降低业务系统以及消息系统之间的耦合。

缺点:
一次消息发送需要发送两次请求;发送方需要实现业务操作状态校验查询接口。

后面会对几个主要的模块进行介绍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值