【发布时间】:2020-01-10 10:42:32
【问题描述】:
我正在学习 DDD、CQRS 和事件溯源,但有些东西我无法弄清楚。命令触发聚合中的更改,一旦执行更改,就会触发一个事件。该事件随后由系统的其他部分处理并保存在事件存储中。但是,如果更改由命令触发,我不明白重播事件将如何重新创建聚合。
示例:如果我们有一家网上商店。 AddItemToCardCommand -> Card Aggregate 将项目添加到其卡片 -> ItemAddedToCardEvent -> 该事件由谁处理。 但是,如果重播该事件,则聚合不会将该项目添加到其卡片中。
总而言之,我的问题是我应该如何根据事件存储中的事件重新创建聚合?此外,任何关于如何以正确方式重播事件的一般建议都会受到重视。
【问题讨论】:
标签: domain-driven-design cqrs event-sourcing