16 个版本
0.4.11 | 2024 年 2 月 20 日 |
---|---|
0.4.10 | 2023 年 8 月 27 日 |
0.4.9 | 2023 年 5 月 27 日 |
0.4.8 | 2023 年 3 月 8 日 |
0.0.1 | 2021 年 12 月 30 日 |
#495 在 数据库接口 中
每月 26 次下载
57KB
1K SLoC
dynamo-es
cqrs-es 中
PersistedEventRepository
特性的 DynamoDB 实现。
用法
添加到你的 Cargo.toml 文件中
[dependencies]
cqrs-es = "0.4.11"
dynamo-es = "0.4.11"
需要访问具有现有表的 Dynamo DB。请参阅
DynamoDb 注意事项
AWS 的 DynamoDb 运行速度快、灵活且高度可用,但它为你的应用程序设计设置了一些限制。
任何事务中最多 25 个操作
事件以单个事务插入,这限制了此存储库可以处理的事件数量。为了正确操作,命令必须产生的最多事件数不能超过
项目大小限制为 400 KB
单个事件不应达到此大小,但大型序列化的聚合可能会达到。如果您的聚合达到此大小,请务必注意使用 快照 或 聚合存储。
最大请求数据大小为 1 MB
这可能会对 快照 或 聚合存储 产生相同的影响。此外,具有大量事件的聚合实例可能会达到此阈值。为了防止加载或重放事件时出错,请将 流通道大小 设置为不会超过此阈值的值。
测试
需要访问具有现有表的 DynamoDb。这可以通过使用包含的 docker-compose.yml
和数据库初始化脚本在本地创建。
准备本地测试环境(需要本地安装Docker和AWS CLI)
docker-compose up -d
./db/create_tables.sh
请注意,此crate使用了AWS DynamoDb Rust SDK,目前处于开发者预览阶段。这意味着任何错误都将被解决,但底层接口可能仍然会发生变化,从而导致此crate中的重大变化。有关更多信息,请参阅AWS SDK公共路线图。
建议配置表以仅允许事务。请参阅:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transaction-apis-iam.html
可能有助于以下内容
依赖关系
~17MB
~281K SLoC