是否可以像这样构建我的 Axon 项目?

Is it possible to build my Axon project like this?

FYI I'm just a beginner with Axon.

我正在尝试让我的项目看起来像上图,但我不知道是否可行。

因为我将命令从应用程序 A 发送到应用程序 C,并从应用程序 C 执行多项任务(例如保存实体、处理事件、命令等),并且各种信息存储在 SAGA_ENTRY table C 的 h2 数据库。但我认为这些信息应该与其他应用程序共享。但我认为不可能共享。这就是为什么我认为我设计错了。

我想知道我是否可以继续这样做。这是一个糟糕的设计和浪费时间吗?

设计本身没有问题,只看图片。它显示了 3 个(不同的)应用程序通过 Axon 服务器相互通信,将其用作消息总线和事件存储。

但是关于如何设计 Saga 的问题,这真的取决于。 在 Axon Framework 中,Saga 可以被视为流程管理器,因此将存储信息的应用程序(在它自己的 Saga table 上)是流程管理器,并且是唯一负责处理它的人。它应该从任何地方获取命令(其他应用程序可以向它发送命令)并且应该以最好的方式处理它。

基本上,如果您在应用程序 A 上有一个 Saga,它将触发要由应用程序 B 或 C 处理的命令,当然 - 这很好。同样的 Saga 可以侦听来自应用程序 B 或 C 的命令,以决定它是否应该触发其他命令或完成 Saga。

希望能澄清一点。 韩国,