1

在决定我不想创建自己的事件存储和事件水化实现后,我试图通过 Eventflow 在 POC 上使用。Eventflow 看起来是个不错的选择。我目前使用 Mediatr 和事件流来保持最小化,我会使用它的命令处理和事件发射。

我被困在文档中的一行“在像 EventFlow 这样的事件源系统中,聚合根数据存储在事件中。”

这是否意味着每次将事件存储在数据库/事件存储中时,它也会存储当前聚合及其状态?

为什么需要将聚合与事件一起存储?在加载聚合时应用事件应该带回状态,对吗?

还要相信,如果这样做,事件本身的重量会相当轻,而聚合数据存储将使其变得庞大。

它的用途是什么?

我是否理解错误?

链接 https://eventflow.readthedocs.io/Aggregates.html 在此处输入图像描述 谢谢,

三月

4

1 回答 1

1

以下是进一步研究的结果。我做了一个小型测试应用程序,并且能够确定该事件是在没有汇总信息的情况下被序列化的。可能是“在像 EventFlow 这样的事件源系统中,聚合根数据存储在事件中”的意思。
它存储 AggregateId、AggregateName 但 Data 仅包含来自事件的反序列​​化信息。

我现在看到的唯一可能超出所需数据的是元数据。我不确定它在哪里使用,特别是使用 http 标头其他数据数据已经存储在同一记录的其他字段中(如序列号和聚合 ID)。

我会建议 eventflow 团队在他们的文档中使这一点更加明显。它将帮助像我这样的新手。可以添加一个示例,说明存储中的事件数据的外观。

我会留下这个答案而不接受它,以防万一有更多信息的更好的答案。

在此处输入图像描述

于 2020-02-12T17:21:06.103 回答