24 个版本 (13 个重大更新)
0.14.1 | 2024 年 1 月 24 日 |
---|---|
0.13.0 | 2023 年 11 月 11 日 |
0.12.0 | 2022 年 11 月 21 日 |
0.10.1 | 2022 年 1 月 18 日 |
0.4.2 | 2021 年 3 月 21 日 |
#577 in 网页编程
每月 184 次下载
115KB
2.5K SLoC
Dendrite
一个 Rust 库,用于连接到 AxonServer。
请参阅 GitHub 项目 rustigaan/archetype-rust-axon 以了解如何使用此代码的示例。
核心概念
- 命令/查询责任分离 (CQRS)
- 事件溯源
- 未来和 async/await
- gRPC
更多信息
该 dendrite-macros 包含宏,可以使得使用 dendrite 包更加方便。
本项目是 dendrite2go 和 archetype-go-axon 的兄弟项目,但针对 Rust 编程语言。
状态
该项目现已达到最小可行交付水平,即第一阶段已完成:当前应用程序可以与 AxonServer 正确通信。与 archetype-go-axon 一样,它可以执行以下操作
- ☑ 与 AxonServer 建立会话
- ☑ 启用 React 应用通过 grpc-web 调用 example-command-api 服务的 RPC 端点
- ☑ 发布命令
- ☑ 注册命令处理器并处理命令
- ☑ 提交事件
- ☑ 将事件流式传输到 UI
- ☑ 获取聚合事件并构建投影
- ☑ 验证命令与投影的一致性
- ☑ 注册跟踪事件处理器并处理事件
- ☑ 在查询模型(Elastic Search)中存储记录
- ☑ 在 Elastic Search 中存储跟踪令牌
- ☑ 注册查询处理器并处理查询
- ☑ 在 UI 中显示查询结果
以及
- 聚合投影的内存缓存
- 在处理器体中访问 Axon 命令、事件、QueryRequest 消息。
现在最好
- 添加对存储聚合投影快照的支持。
- 添加对跟踪事件处理器负载均衡的支持。
- 添加对 sagas 的支持。
- ...
依赖关系
~10–30MB
~428K SLoC