#事件溯源 #状态 #事件 #促进 #事件流 #聚合 #版本

ljprs_es

为Rust中的事件溯源提供核心类型。

1个不稳定版本

0.1.0 2023年4月27日

#25 in #促进

MIT 协议

14KB

ljprs_es

为Rust中的事件溯源提供核心类型。


lib.rs:

ljprs_es

为Rust中的事件溯源提供核心类型。

逻辑版本

当事件流变得很大时,从所有历史事件重建聚合体的当前状态会有相当大的开销。有多种方法可以减少这种影响,但这个crate提供了允许状态持久化的功能。

它通过确保State的实现可以序列化,并确保State的实现公开“逻辑版本”来实现这一点。

这个u32值用于对从事件流中产生State的逻辑进行版本控制。

这允许Store的实现将聚合体的当前状态持久化到后端数据存储库。在读取流时,如果我们知道用于产生该状态的逻辑没有改变,则只需读取State

如果用于产生状态的逻辑已更改,则只需读取和聚合完整的事件流。因此,如果用于产生该状态的逻辑已更改,则确保增加State的逻辑版本非常重要。

依赖项

~0.4–1MB
~22K SLoC