【发布时间】:2020-10-27 17:14:56
【问题描述】:
我正在着手实施一个使用 CQRS 的项目,并打算使用 J Oliver EventStore V2.0 作为我的事件持久性引擎。
1) 在文档中,ExampleUsage.cs 在“BuildSerializer”中使用了 3 个序列化器。我想这只是为了展示反序列化过程的灵活性?
2) 在“失败后重新启动”的情况下,某些事件没有被调度,我相信我需要调用 GetUndispatchedCommits() 然后调度它们的启动代码,对吗?
3) 同样,在“ExampleUseage.cs”中,如果“TakeSnapshot”将第三个事件添加到事件存储中,然后“LoadFromSnapShotForward”不仅检索最近的快照,还检索到快照后模拟的事件,这将很有用聚合的重建。
4) 我没有看到保留旧快照的用途。你能给出一个有用的用例吗?
5) 如果我有一个服务正在处理命令接收和事件生成,那么建议的策略是跟踪自给定聚合的最后一个快照以来的事件数量。我当然不想太频繁地调用“GetStreamsToSnapshot”。
6) 在 SqlPersistence.SqlDialects 命名空间中,sql 语句名称是“GetStreamsRequiringSnaphots”而不是“GetStreamsRequiringSnapShots”
【问题讨论】:
-
在 Stackoverflow 上,每个帖子问一个问题是一种很好的做法。你最终会得到更好的答案,因为发布一个问题的答案更容易,更容易为好的答案投票,更容易找到这篇文章,因为你可以给它一个更具描述性的标题等等。无论如何,好问题!
标签: cqrs neventstore