首页 > 解决方案 > DDD\CQRS\ES 骨料补液

问题描述

当命令发出多个事件时,如何确保正确补液。什么是正确的方法将许多事件标记为原子变化

标签: domain-driven-designcqrs

解决方案


当应用所有可用事件时,补液完成。但是,当您的命令发出多个事件时,您只需确保这些事件在原子操作中保持在一起。

例子:

当前事件流:

1. MyEvent1

然后执行一个发出多个事件的命令:

MyCommand emits ->
  MyEvent1
  MyEvent2

这些事件将作为原子操作附加到事件流中。

新事件流:

1. MyEvent1
2. MyEvent1
3. MyEvent2

现在,在为 Aggregate 补水时,您只需阅读整个 Event Stream 直到最后,就完成了。


推荐阅读