【发布时间】:2017-10-12 17:16:55
【问题描述】:
在使用事件源实现应用程序时,工作中的持久性引擎是一个事件存储。也就是说,事件的附加日志,过去时,顺序或发生。只需通过应用程序重放事件,即可再现任何时间点的状态。
我的担心 - 这个 append-only 事件存储是否不可避免地导致 append-only 代码库?如果删除甚至更改代码可能会使应用程序无法重播事件序列,您如何维护代码库?源代码行数能减少吗?
如果必须修改业务规则,或者更糟糕的是,如果应用程序早期的一个讨厌的错误允许它进入禁止状态怎么办?错误的代码必须无限期地保持活动状态吗?当然,理论上,这些问题中的许多问题都可以使用事件版本控制、事件模式、快照版本控制等来解决。但在这一点上,事件溯源难道不是一种负担吗?
事件溯源是一项相当新的技术,至少在生产中是这样。我怀疑很少有应用程序已经在它上面运行了几年以上。 10年后它们会是什么样子?对于企业应用程序来说,这不是一个不切实际的时代。
【问题讨论】:
标签: events domain-driven-design event-sourcing maintainability