1个不稳定版本
0.1.0 | 2023年4月27日 |
---|
#25 in #促进
14KB
ljprs_es
为Rust中的事件溯源提供核心类型。
lib.rs
:
ljprs_es
为Rust中的事件溯源提供核心类型。
逻辑版本
当事件流变得很大时,从所有历史事件重建聚合体的当前状态会有相当大的开销。有多种方法可以减少这种影响,但这个crate提供了允许状态持久化的功能。
它通过确保State
的实现可以序列化,并确保State
的实现公开“逻辑版本”来实现这一点。
这个u32
值用于对从事件流中产生State
的逻辑进行版本控制。
这允许Store
的实现将聚合体的当前状态持久化到后端数据存储库。在读取流时,如果我们知道用于产生该状态的逻辑没有改变,则只需读取State
。
如果用于产生状态的逻辑已更改,则只需读取和聚合完整的事件流。因此,如果用于产生该状态的逻辑已更改,则确保增加State
的逻辑版本非常重要。
依赖项
~0.4–1MB
~22K SLoC