在查看JOlivers“EventStore”时,如果您只提交1个事件,我会看到StreamRevision和CommitSequence是相同的。而StreamRevision则用于选择事件。
假设我首先创建了一个聚合1个事件的聚合。在此之后发布了10个事件,这些事件将使我的SQL数据库表看起来像这样(简化):
Revision Items Sequence
1 1 1
11 10 2
我有2个问题源于此:
这是 StreamRevision和CommitSequence之间的区别吗?
商店公开了一个“GetFrom”方法,该方法采用“minRevision”和“maxRevision”。使用上面的数据,如果我请求minRevision = 4和maxRevision = 8,这是如何工作的?不应该是“minSequence”和“maxSequence”而是吗?
感谢。
沃纳
答案 0 :(得分:1)
提交是一种存储概念,用于防止重复并通过没有事务支持的存储引擎(如CouchDB和MongoDB)促进乐观并发。另一方面,StreamRevision表示提交给流的事件数。
当您使用流并且使用最小/最大修订版4-8调用GetFrom()时,这意味着您需要(根据您的示例)从v4到v8开始的所有事件(由commit#封装) 2。