#event-sourcing #cqrs #ddd #architecture #es #event-log

eventually

用于在 Rust 应用程序中实现事件源(Event Sourcing)的 crate

6 个版本 (3 个重大更改)

0.4.0 2020 年 10 月 4 日
0.4.0-alpha.32020 年 9 月 9 日
0.4.0-alpha.12020 年 8 月 19 日
0.3.0 2020 年 5 月 15 日
0.1.1 2019 年 12 月 3 日

#980Rust 模式

MIT 许可证

110KB
1.5K SLoC


Eventually

Rust 事件源


一组 trait 和其他实用工具,帮助您在 Rust 中构建事件源应用程序。

什么是事件源(Event Sourcing)?

在深入了解 crate 的内部结构之前,您可能想知道什么是事件源。

来自 eventstore.com 的介绍

事件源是一种正在兴起的架构模式,作为一种构建现代系统的方法而受到关注。与只存储和更新数据当前状态的常规数据库不同,事件源系统将所有更改以不可变的事件序列的形式按发生顺序存储,并从该事件日志中推导出当前状态。

eventually 如何支持事件源?

eventually 提供了所有必要的抽象,以使用领域事件(在术语中,聚合)对领域实体进行建模,并使用 事件存储(只追加的事件日志)保存这些事件。

有关更多信息,请参阅 crate 文档

您还可以查看 eventually-app-example,展示了一个使用 HTTP 传输层的事件源微服务示例。

欢迎在我们的 Gitter 聊天 中提出所有其他问题。

安装

eventually 添加到您的项目依赖项中

[dependencies]
eventually = { version = "0.4.0", features = ["full"] }

关于语义版本控制的说明

此库正在积极开发中,在 v1 版本发布之前,正在采用以下 语义版本控制

  • 重大更改以新的 MINOR 版本标记
  • 新功能、修补程序和文档以新的 PATCH 版本标记

许可证

本项目采用 MIT 许可证

贡献

除非您明确表示,否则您提交给 eventually-rs 的任何有意贡献,都应按照 MIT 许可证进行许可,不附加任何额外条款或条件。

依赖项

约 5-15MB
约 169K SLoC