7 个版本
0.3.0 | 2021 年 9 月 22 日 |
---|---|
0.2.2 | 2021 年 9 月 1 日 |
0.2.1 | 2021 年 8 月 31 日 |
0.1.2 | 2021 年 8 月 30 日 |
#1165 在 数据库接口 中
185KB
6K SLoC
tokio-cqrs-es2-store
异步实现 cqrs-es2 存储库。
为 CQRS 系统存储提供对不同数据库实现的异步接口。
设计
该库的主要组件包括
IEventDispatcher
- 异步事件监听器接口IEventStore
- 异步事件存储接口IQueryStore
- 异步查询存储接口
特性
with-postgres
- 异步 Postgres 存储with-mysql
- 异步 MySQL 存储with-sqlite
- 异步 SQLite 存储with-all-sql
- 所有 SQL 驱动with-mongodb
- 异步 MongoDB 存储with-all-doc-db
- 所有文档数据库驱动with-redis
- 异步 Redis 存储with-all-kv-db
- 所有键值数据库驱动with-all-async
- 所有异步驱动(默认)
安装
要在异步应用程序中使用此库,请将以下内容添加到项目 Cargo.toml
中的依赖项部分
[dependencies]
# logging
log = { version = "^0.4", features = [
"max_level_debug",
"release_max_level_warn",
] }
fern = "^0.5"
# serialization
serde = { version = "^1.0.127", features = ["derive"] }
serde_json = "^1.0.66"
async-trait = "^0.1"
# CQRS framework
cqrs-es2 = { version = "*"}
# Sync postgres store implementation
tokio-cqrs-es2-store = { version = "*", default-features = false, features = [
"with-postgres",
] }
# sqlx
sqlx = { version = "0.5.6", features = [
# tokio + rustls
"runtime-tokio-rustls",
# PostgresSQL
"postgres",
"uuid",
"json",
# misc
"macros",
"chrono",
"tls",
] }
tokio = { version = "1", features = [
"rt-multi-thread",
"time",
"fs",
"macros",
"net",
] }
使用方法
完整的异步存储库示例应用程序
- gRPC.
变更日志
完整变更日志的历史记录可以在 此处 找到
待办事项
开发愿望的最新列表可以在 此处 找到
依赖项
~0.7–22MB
~299K SLoC