【发布时间】:2021-01-03 06:31:40
【问题描述】:
我正在尝试使用 Axon Framewok 构建一个服务,该服务将生成由域事件触发的时间序列数据,但是,它需要访问历史域事件才能重新构建完整的画面。
可能的领域事件可能是例如CreateTimeseries、ModifyTimeseries 和 EndTimeseries 事件将提供生成最终时间序列所需的所有输入。
带有数据的示例模型可能如下所示
CreateTimeseries {
min:0
max: 0
from: 2020-01-01
}
UpdateTimeseries {
from: 2020-01-03
to: 2020-01-05
value: 20
}
UpdateTimeseries {
from: 2020-01-22
to: 2020-01-24
value: 11
}
在这种情况下,我有一个 CreateTimeseries 事件和几个 ModifyTimeseries 事件,它们按顺序应用需要应用于时间序列模型的更改(基于一些事件创建时间戳)。
要通过 Axon 框架实现这一点,“最佳实践”方法是否是在聚合内实现所有这些生成逻辑,因为聚合可以访问所有以前的域事件?
作为聚合的替代方案,有没有一种方法可以让我拥有一个带有事件处理程序的服务,该事件处理程序对新事件做出反应,例如一个新的TimeseriesUpdatedEvent,但随后可以以某种方式访问生成时间序列所需的所有先前事件?
【问题讨论】:
-
你能分享一下你工作的领域吗?那么,您的想法是如何发布这些事件?在发布这些事件之前是否有某种形式的验证?
标签: time-series axon