我不太确定我理解 Eventstore 是什么,我认为它是 Domainobjects 的某种“事务日志”。它的优点/缺点是什么,什么是使用它的好场景,什么时候不应该使用它?
编辑:
由于我可能要求太多,如果有一个“简单”的场景何时使用事件存储,何时不使用,我会很高兴?换句话说:是否可以仅用几句话来描述这两个场景,还是我需要阅读 5 本书才能理解?
我不太确定我理解 Eventstore 是什么,我认为它是 Domainobjects 的某种“事务日志”。它的优点/缺点是什么,什么是使用它的好场景,什么时候不应该使用它?
编辑:
由于我可能要求太多,如果有一个“简单”的场景何时使用事件存储,何时不使用,我会很高兴?换句话说:是否可以仅用几句话来描述这两个场景,还是我需要阅读 5 本书才能理解?
是的,事件溯源就像您的域对象的事务日志,事务日志是您所有数据的权威来源。您可能拥有其他形式的数据副本,这些副本旨在便于查询,但它们只是可以随时删除和重建的副本。事务日志是唯一的事实来源。
我同意 Craig 的观点,因为它非常依赖于上下文,所以很难简洁地回答您的问题,但这里列出了您可能考虑使用事件存储的原因:
另一方面,有一些很好的理由不这样做:
在 stackoverflow 问题中有很多要求。您的问题中缺少的一件事是它的缺点是什么?无论如何,与其在这里回答,我想提供一些视频链接供您观看。在这个问题的答案有意义之前,需要设置很多上下文。
Greg Young:这里有一个约 2 小时的视频,可以很好地概述您在问题中要求的所有内容。这里还有约 6 小时的在线课程。
Udi Dahan:这里有一个 1 小时的视频,介绍了何时使用这些技术。
邮件列表:这里有一个小组,您可以在其中提出所有问题并围绕该主题进行愉快的讨论。
希望这会有所帮助。您的问题太多了,我认为尝试用简短的谩骂来回答它并误导人们可能对您或其他任何人没有任何好处。
更新:我认为您不需要阅读 5 本书,甚至不需要查看下面的视频。我认为值得您花时间这样做,但不是必需的。您的问题的问题是“简单”场景通常不需要事件溯源。大多数应用程序将主要是 CRUD 和数据驱动的。也许这是您问题的答案。如果您的系统中没有太多“行为”,那么您就不需要它。如果有很多行为,那么您可能需要它。