7个版本
0.3.3 | 2019年9月5日 |
---|---|
0.3.2 | 2019年8月7日 |
0.3.1 | 2019年5月30日 |
0.3.0 | 2019年4月29日 |
0.1.0 | 2019年2月1日 |
#2356 在 数据库接口
每月 22 次下载
89KB
2K SLoC
cqrs
cqrs
是一个以事件为“真相之源”的事件驱动框架,用于编写使用事件作为CQRS(命令-查询职责分离)的软件。
该框架围绕几个关键概念构建
- 事件:系统中发生的事情
- 聚合:事件的投影,用于计算系统的当前状态视图
- 命令:意图,当针对聚合执行时,可能产生零个或多个事件,或者可能由于聚合的当前状态而被禁止
- 反应:当系统中发生某些事件时执行动作的过程
该框架编写为适用于通用后端,并提供了一个针对PostgreSQL后端的实现。
要了解如何构建包含聚合、事件和命令的域的示例,请查看cqrs-todo-core
包,这是一个简单的待办事项列表实现。
源代码仓库还包含在cqrs-todoql-psql
目录中的二进制文件,该文件演示了如何使用todo
域与PostgreSQL后端和GraphQL前端(使用juniper
包)一起使用。
Rust编译器的最低支持版本目前是1.32。
开发
要构建此仓库中的所有crates
cargo build
要测试所有crates和文档
cargo test
要编译仓库中crates的文档(移除--no-deps
以包括依赖项的文档;添加--open
以自动在浏览器中打开文档)
cargo doc --no-deps
此crate旨在支持wasm32-unknown-unknown
目标,用于cqrs
、cqrs-core
和cqrs-todo-core
包。要针对此目标构建,请执行
cargo build --target=wasm32-unknown-unknown -p cqrs-core -p cqrs -p cqrs-todo-core
许可证
cqrs
在Apache-2.0许可证下开放授权。
依赖项
~5–11MB
~141K SLoC