thalo: Rust的事件溯源套件


Thalo 是一个基于以下模式构建大型系统的事件溯源框架:

  • 事件溯源
  • CQRS
  • 事件驱动
  • 事务发件箱
  • DDD

它被设计成模块化的,带有实现大多数功能的附加crates 。

由于 Rust 是一种比大多数语言更年轻的语言,因此生态系统缺乏事件溯源和 CQRS 框架。其中许多已被遗弃,或者只是功能不丰富。Thalo 旨在提供一个主干和一些核心crates 来构建强大的事件源系统。

ESDL - 事件溯源模式定义语言
建议使用ESDL 模式语言定义聚合、命令和事件。
这允许更具可读性的聚合定义,并提供代码生成以生成与 Thalo 兼容的事件、命令特征和自定义类型。
.esdl可以在 中找到一个示例examples/bank-account/bank-account.esdl

示例包括:

  • bank-account:使用 ESDL 模式文件构建的银行账户聚合。
  • protobuf:用于发送同步命令的 gRPC 客户端和服务器。

所有示例都可以在examples目录中看到。