我们遵循CQRS体系结构,并将Jonathan Oliver的事件存储版本3用于事件。我们希望创建聚合根的快照以提高性能。
我找到了一个API(GetStreamsToSnapshot),它可以用于此操作。它根据创建快照之前的时间来提供所有流。
但我不知道如何使用流来创建快照,因为我不知道聚合类型。
请提供有关如何创建快照的任何输入
正如您所发现的,GetStreamsToSnapshot会为您提供一个流列表,其中至少有X个修订版本位于头部修订版本之后。
从那里,这是一个加载每个流的问题。在这里,您可以将某种标头信息附加到流中,以确定要处理的聚合类型。
很多时候有人问我为什么不直接将聚合类型信息存储到EventStore中,并使其成为API的一流部分。答案是,它不关心聚合,这是一个DDD概念。EventStore关心的只是流和事件。