正如问题所述,存储命令和事件的最佳实践是什么? 我应该只存储命令,因为命令会生成事件?!
答案 0 :(得分:1)
正如问题所述,存储命令和事件的最佳实践是什么?我应该只存储命令,因为命令会生成事件?!
在某些设置中,仅存储“命令”。例如,如果您查看LMAX的团队在共享他们的设计,那么您会发现他们写在日记中的是 input messages 。
在他们的上下文中,他们不必担心流程的基础域模型将发生变化(这将在日常维护窗口中,当一切安静时发生),因此,毫无疑问,系统状态将发生在给定的事件序列之后。
但是event-sourcing
通常被理解为表示保存系统状态的表示-只是不扩展我们的数据结构,而是对其进行扩展(请考虑更改的链接列表)。我们持续发生的变化往往是投入的可观察效果,而不是原始投入本身。
答案 1 :(得分:0)
在事件采购体系结构中,事件是您状态的来源。因此,您需要存储事件-系统中记录的事实。