Axon Saga 查询另一个微服务

问题描述

@SagaEventHandler 需要从另一个同样使用 Axon 框架的微服务获取数据时,使用 QueryGateway 查询一个微服务是否是一个好习惯?或者最好使用 RestTemplate 之类的东西从 @SagaEventHandler 方法调用一个微服务? ?

谢谢?

解决方法

在我看来,你可以采取任何方式,因为它们都有优点和缺点。

但是,由于您已经在使用 Axon,我会使用它,因为位置透明的好处以及您从 AxonFramework 获得的所有类型的查询(点对点、分散收集和订阅查询)。

请记住,在 Saga 上使用“组件”时,请将它们设为瞬态,以免它们可序列化。