当查看JOlivers的"EventStore"时,我看到如果只提交1个事件,StreamRevision和CommitSequence是相同的。它是用来选择事件的StreamRevision。
假设我首先创建了一个提交1个事件的聚合。之后提交了10个事件,这将使我的SQL数据库表看起来像这样(简化):
Revision Items Sequence
1 1 1
11 10 2
由此引出两个问题:
这个是StreamRevision和CommitSequence之间的区别吗?
store公开了一个"GetFrom"方法,该方法接受一个"minRevision"和一个"maxRevision"。有了上面的数据,如果我请求minRevision=4和maxRevision=8,这是如何工作的?它不应该是"minSequence"one_answers"maxSequence"代替?
谢谢。Werner
提交是一个存储概念,用于防止重复和促进不具有事务支持的存储引擎(如CouchDB和MongoDB)的乐观并发性。另一方面,StreamRevision表示提交到流的事件数。
当你使用流,你调用GetFrom()与最小/最大修订4-8,这意味着你想(根据你的例子)从v4到v8开始的所有事件,这是由commit #2封装。