快照创建后是否需要创建新流?

Should I Create a New Stream After a Snapshot Was Made?

创建流的快照时,我是照常继续快照流,还是创建一个新流以放置快照之后的所有事件?

1

stream-123: event1 | event2
<snapshot-123-event2>
stream-123: event1 | event2 | event3 | event4

2

stream-123-1: event1 | event2
<snapshot-123-event2>
stream-123-2: event3 | event4

最常见的是,创建新流是为了响应业务领域中的重要事件。例如,在财政年度结束时,我们可能 "close the books" 结束该生命周期,同时开始新实体集合的生命周期以跟踪下一年。

另一个例子可能是从一个过程到另一个过程的转换——当我们购物时,我们在购物车中添加和删除商品。但是一旦我们下订单,我们就会启动新流程来处理计费、履行等,这些流程可以由不同流中的不同服务进行跟踪。

快照作为性能优化通常不会引入新流;相反,它只缓存一些有趣的(非权威的)中间结果以改善处理请求的延迟。