CQRS + 事件溯源 + ddd - 在微服务之间复制数据

问题描述 投票:0回答:1

我正在使用 CQRS 和事件源(Axon 框架)。我有微服务 Warehouse 和 ConsumerPrediction。 仓库允许定义产品过滤器(时间戳、产品类别……)。 可以通过filterId查询仓库中过滤后的产品。万件可退换。

用例是

  1. 客户端(前端)定义仓库微服务中的产品过滤器。 ConsumationPrediction 仅保存过滤器的 id。
  2. ConclusionPrediction 包含调度事件 PredisctionPrepared(FilterIdstartingPoint, FilterIdendingPoint) 的聚合 PredictionDefinition。
  3. 现在我需要开始通过查询从 Warehouse 复制到 ConductionPrediction。并为每个产品创建一个聚合 ProductPrediction。 聚合有自己的生命周期。

我的问题是关于复制——在哪里以及如何进行。 我读过 Saga/ProcessManager 不应该使用查询。它应该只协调流程 - 处理事件和发送命令。

domain-driven-design cqrs event-sourcing axon
1个回答
0
投票

我不确定我是否正确理解了这个问题。通常在 Axon 应用程序中,仓库微服务根据其事件构建投影。 ConsumerPrediction 微服务可以使用某种过滤器来查询该投影。我认为您不需要复制数据,但这取决于您的要求。

Saga/ProcessManager 通常用于在域之间进行协调,但我不确定这里的情况是否如此。

© www.soinside.com 2019 - 2024. All rights reserved.