问题描述
当 @SagaEventHandler
需要从另一个同样使用 Axon 框架的微服务获取数据时,使用 QueryGateway
查询另一个微服务是否是一个好习惯?或者最好使用 RestTemplate
之类的东西从 @SagaEventHandler
方法调用另一个微服务? ?
谢谢?
解决方法
在我看来,你可以采取任何方式,因为它们都有优点和缺点。
但是,由于您已经在使用 Axon,我会使用它,因为位置透明的好处以及您从 AxonFramework 获得的所有类型的查询(点对点、分散收集和订阅查询)。
请记住,在 Saga 上使用“组件”时,请将它们设为瞬态,以免它们可序列化。