我正在使用 CQRS 和事件源(Axon 框架)。我有微服务 Warehouse 和 ConsumerPrediction。 仓库允许定义产品过滤器(时间戳、产品类别……)。 可以通过filterId查询仓库中过滤后的产品。万件可退换。
用例是
我的问题是关于复制——在哪里以及如何进行。 我读过 Saga/ProcessManager 不应该使用查询。它应该只协调流程 - 处理事件和发送命令。
我不确定我是否正确理解了这个问题。通常在 Axon 应用程序中,仓库微服务根据其事件构建投影。 ConsumerPrediction 微服务可以使用某种过滤器来查询该投影。我认为您不需要复制数据,但这取决于您的要求。
Saga/ProcessManager 通常用于在域之间进行协调,但我不确定这里的情况是否如此。