美文网首页
分布式事务之可靠消息一致性

分布式事务之可靠消息一致性

作者: 朽桜 | 来源:发表于2018-07-13 17:37 被阅读15次
可靠消息一致性流程.jpg

先上个自己画的流程图,非常丑,大家见谅!

图中主要有五个系统,其中主动方和被动方应用系统是业务系统,消息服务、消息状态确认和消息消费确认子系统是用来保障业务一致性,实现分布式事务的,红字带圈序号是一套完整的正向流程。

有两点需要注意:

  1. 第三步中,不能因为消息服务的异常导致主动方的业务发生回滚。接口调用异常的一种情况是消息服务子系统处理失败,这时候消息依然是预发送状态,业务正常结束,后续由消息状态确认子系统查询预发送状态并且已经超过规定超时时间的信息,调用业务方的接口确定信息的正确状态,决定是删除还是发送信息,这种情况可以保证一致性。另一种情况是消息服务子系统处理成功并发送消息至队列,进而被动方收到消息并处理,但是因为网络等原因,主动方应用系统并没有收到响应,这时候如果主动方业务回滚,就会导致主动方和被动方的数据产生不一致,因此,第三步操作的结果不能影响到主动方的业务,接口调用最好是异步调用。
  2. 被动方业务系统接口设计要保证幂等性。因为消息消费确认子系统会定时查询未被消费者确认超时的消息重新推送至队列,结果就是一条消息可能会被被动方应用系统处理多次,所以接口设计必须是幂等的。

参考:
龙果学院分布式事物学习之(可靠消息一致性方案之独立消息服务)

相关文章

网友评论

      本文标题:分布式事务之可靠消息一致性

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