gpt4 book ai didi

spring - 从轴突聚合调用第三方服务是个好主意吗

转载 作者:行者123 更新时间:2023-12-02 17:18:34 25 4
gpt4 key购买 nike

我有一个轴突聚合体。它处理命令,并且在应用事件之前必须调用第三方服务来验证某些参数,根据此验证我是否应用事件。这是好的做法吗?或者我在发送命令之前进行了验证?

@Aggregate
public class SomeAggregate {
[...]
@CommandHandler
public void someHandler() {
if(thirdPartyService.invoke) {
apply(...)
}
}
}

最佳答案

如果它是非阻塞(域)服务,类似于有限状态机,则可以从聚合内部调用,因为它很可能很快就会完成。但是,“第三方服务”对我来说听起来像是一个外拨电话,这可能需要一些时间。

当 Axon 加载聚合时,它会阻塞聚合,因此其他线程无法更改它的状态/处理它的命令。第三方服务意味着聚合被阻止的时间更长。

因此,我建议不要在聚合中调用第三方服务。要么在进入聚合之前调用服务,要么在命令处理完成后执行补偿操作以恢复决策。两者中哪一个在您的场景中最有意义,取决于您的领域。然而,我认为通过第三方服务进行“预验证”是最合理的选择。

关于spring - 从轴突聚合调用第三方服务是个好主意吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44774878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com