EShop SOA Versions Save

EShop基于Dubbo实现SOA服务化拆分,并基于RocketMQ解决了分布式事务(新版SpringBootSOASkeleton)

v1.2

6 years ago

Producer去查询Consumer消息时从RPC调用换为消息发布订阅。 1)producer中的scheduler每隔一分钟会发送check消息至同一个事务消息topic 2)consumer收到消息时使用keys来区分check消息或者事务消息,如果是check消息,那么查询数据库后将check-reply消息发送给另一个topic(比如叫 事务消息topic+"check") 3)producer订阅了这个topic,然后在接收到check-reply消息时去更新消息状态,然后重发确认消息发送失败的消息。

v1.1

6 years ago

Producer获取Consumer的新的消息状态是使用RPC调用的方式,这就要求Producer必须知道它的Consumer是谁,也势必要引入Consumer的API包,这不是一种好的设计。