domain-driven-design - DDD\CQRS\ES 骨料补液
问题描述
当命令发出多个事件时,如何确保正确补液。什么是正确的方法将许多事件标记为原子变化
解决方案
当应用所有可用事件时,补液完成。但是,当您的命令发出多个事件时,您只需确保这些事件在原子操作中保持在一起。
例子:
当前事件流:
1. MyEvent1
然后执行一个发出多个事件的命令:
MyCommand emits ->
MyEvent1
MyEvent2
这些事件将作为原子操作附加到事件流中。
新事件流:
1. MyEvent1
2. MyEvent1
3. MyEvent2
现在,在为 Aggregate 补水时,您只需阅读整个 Event Stream 直到最后,就完成了。
推荐阅读
- python - 使用排序值操作的顺序不一致
- swift - 在 Ubuntu WSL 上构建 sourcekit-lsp 时出错
- amazon-web-services - Boto 可以通过 EKS 服务帐户担任角色吗
- html - 如何将标题与现有 CSS 居中对齐
- python - 如何使用索引中的值范围和框架中的标题和值创建数据透视表?
- windows - Powershell 新服务无法启动或手动运行:错误 1053
- php - Preg_replace 带有可选的换行符
- flutter - 在颤动中动态芯片上出现溢出错误
- azure - 如何构建代表 Azure 数据湖(第 2 代)的 Docker 映像?
- javascript - 余数运算符给出奇怪的结果