【问题标题】:Axon- Replay event for a particular type or for one particular IdAxon- 特定类型或特定 Id 的重播事件
【发布时间】:2019-06-26 11:14:45
【问题描述】:

使用 Axon 框架 - 我能够重放整个事件存储并重新创建视图模型。但是是否可以为特定类型或特定 ID 重播事件。

假设我有一个客户事件,我想重播 Id=100 的客户的所有事件。为特定客户进行重播是否有意义,或者对整个事件进行重播更有意义总是存储?

提前致谢

【问题讨论】:

    标签: cqrs event-sourcing axon


    【解决方案1】:

    对于这个特定的 ReadModel,做任何对你有意义的事情都是可以的。

    只重新处理一位客户的一个原因是速度。如果它比完全重建快得多(即因为您有很多客户)并且结果是相同的,那么就去做吧。

    【讨论】:

      【解决方案2】:

      正如康斯坦丁指出的那样,重播特定视图的请求完全合理。

      此时 Axon Framework 中提供的重放过程仅提供触发特定处理组的重放,允许您设置要重放的时间点。

      有一些想法可以为重放提供更细粒度的解决方案,但是我很难告诉您何时会发生这种情况。 因此,仅重放单个视图模型(例如速度)将需要一些自定义代码。 如果您对如何做到这一点的一些指示感兴趣,请告诉我。


      更新

      我想说的是,使用最新版本的 Axon Framework 可以告诉 TrackingEventProcessor 重置自身,从而重播一组事件。 用于此的 API 是 TrackingEventProcessor#resetTokens(TrackingToken),它允许您从给定的时间点重置跟踪事件处理器。

      这仍然没有让您选择重放读取模型的给定实例。这仍然需要您做一些方便的工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-12-03
        • 1970-01-01
        • 1970-01-01
        • 2017-07-28
        • 1970-01-01
        • 2014-06-09
        • 1970-01-01
        相关资源
        最近更新 更多