StreamRevision和CommitSequence的EventStore差异和用法



当查看JOlivers的"EventStore"时,我看到如果只提交1个事件,StreamRevision和CommitSequence是相同的。它是用来选择事件的StreamRevision。

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

Revision    Items   Sequence
1           1       1   
11          10      2

由此引出两个问题:

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

  2. store公开了一个"GetFrom"方法,该方法接受一个"minRevision"和一个"maxRevision"。有了上面的数据,如果我请求minRevision=4和maxRevision=8,这是如何工作的?它不应该是"minSequence"one_answers"maxSequence"代替?

谢谢。Werner

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

当你使用流,你调用GetFrom()与最小/最大修订4-8,这意味着你想(根据你的例子)从v4到v8开始的所有事件,这是由commit #2封装。

相关内容

  • 没有找到相关文章

最新更新