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