3

在查看 JOlivers“EventStore”时,我发现如果您只提交 1 个事件,StreamRevision 和 CommitSequence 是相同的。它是用于选择事件的 StreamRevision。

假设我首先创建了一个聚合 1 个事件。之后,committed 10 事件将使我的 SQL 数据库表看起来像这样(简化):

Revision    Items   Sequence
1           1       1   
11          10      2

我有两个问题源于此:

  1. 这是StreamRevision 和 CommitSequence 之间区别吗?

  2. 该商店公开了一个“GetFrom”方法,该方法采用“minRevision”和“maxRevision”。使用上面的数据,如果我请求 minRevision=4 和 maxRevision=8 ,这将如何工作?不应该是“minSequence”和“maxSequence”吗?

谢谢。

维尔纳

4

1 回答 1

1

提交是一种存储概念,用于防止重复并通过不支持事务的存储引擎(如 CouchDB 和 MongoDB)促进乐观并发。另一方面,StreamRevision 表示提交给流的事件数。

当您使用流并调用 GetFrom() 时,最小/最大修订版为 4-8,这意味着您想要(根据您的示例)从 v4 到 v8 的所有事件,这些事件由提交 #2 封装。

于 2011-10-06T11:11:16.547 回答