1

我最近一直在尝试轴突并阅读了很多东西。据我了解,事件溯源的概念是说系统状态是从事件存储中重建的,而 CQRS 更新可以用命令端查询的视图模型是不可查询的。

  1. 每次 UI 请求某些信息时,我都会自己实现状态的重建。我已经实现了事件处理器并看到了它的重放能力。但是,我似乎找不到任何证据表明轴突允许根据用户需求触发重播。因此,我在这里询问是否可以亲自触发重播以构建 UI 所需的 DAO,或者 axon 仅支持 CQRS 方式。

  2. 当轴突进行重播时(当令牌被删除时),它是从快照表中读取(如果已实现),然后从事件表中读取,还是总是从时间的开头开始?

4

1 回答 1

2
  1. 如果您希望重建查询端,则手动删除令牌是当前的方法。因此,如果您想触发重播,则必须添加一个为您执行此操作的组件。这也可能是一个棘手的过程,因为您可能不希望任何其他方在重建时尝试访问您的视图。请注意,为此,您确实需要将事件处理组件TrackingEventProcessor放在TrackingToken.

  2. 快照表用于聚合以简化加载过程。当您设置 axon 以使用 时(Caching)EventSourcingRepository,它将首先加载基于快照的聚合,然后获取剩余事件。因此,回答您的第二个问题:当您删除令牌时,它将从时间开始时从域事件条目表中读取。

希望这可以帮助!

更新

对于那些在 Axon Framework 中寻找重放支持的人,建议查看参考指南的这一页。它描述了为流式事件处理器(如TrackingEventProcessor)构建的重播支持。

于 2017-07-05T08:48:13.417 回答