【发布时间】:2018-04-11 16:54:52
【问题描述】:
我正在为教育目的开发一个简单的基于 DDD + 事件溯源的应用程序。
为了在存储到事件存储之前设置事件版本,我应该查询事件存储,但我的直觉告诉这是错误的,因为它会导致并发问题。
我错过了什么吗?
【问题讨论】:
-
它不会导致并发问题如果您在事件存储中有一个约束(即
aggregateType-aggregateId-version上的唯一约束) -
不确定在事件存储中存储聚合类型是否是个好主意,列是:'aggregateId, version, eventData'
-
这取决于您的设计。在矿山设计中,不同的聚合类型可以共享相同的ID值。
-
@SHM 我写的是“聚合类型”而不是“事件类型”
-
@SHM 如果您使用的是 eventstore.org,那么您是安全的;这些人保护您的事件流免受并发问题的影响;你可以在这里阅读更多:eventstore.org/docs/dotnet-api/…
标签: domain-driven-design cqrs event-sourcing event-stream eventstoredb