老师,关于消息最终一致性保证事务一致性的问题

来源:9-7 基于消息的最终一致性方案介绍

yejiajiajia

2019-04-21

课程中的时序图的A系统的发送提交信息并不是真的说,A系统已经提交了,发送信息吧,意思是不是在A系统执行commit之前,发送一个消息,因为课程里面说通过线程挂起的方式,其实应该不用吧,只要在commit操作之前,发送消息,然后B系统返回消息,A系统监听消息,根据这个消息判断是提交还是回滚,这已经是串行的方式执行,不需要通过让线程挂起的方式。

我画了一个时序图,老师帮我看下有没有问题

还有一个问题就是,我的理解是一旦能够通知到B系统,那么B系统执行完事务就直接提交,因为只要能到通知B系统这一步,那么A是肯定能够成功的,A肯定是处于待提交的状态。我的问题是:B系统这里是不是直接提交,对表作持久化了?

http://img.mukewang.com/szimg/5cbbe7ab0001c85b09160959.jpg

写回答

1回答

Allen

2019-04-21

大致理解没问题, 不过既然已经有MQ了, ZK其实就不需要了。  一致性消息事务阻塞是一种解决方案。如果觉得对比较影响性能, 可以考虑用状态解决

0
1
yejiajiajia
嗯,OK,有什么不懂我再问~
2019-04-21
共1条回复

Dubbo主流版本打造仿猫眼项目 理解微服务核心思想

实战Dubbo项目+面试技巧,老司机带你畅游微服务

1410 学习 · 582 问题

查看课程