8 个版本 (重大更改)
0.8.0 | 2024 年 5 月 18 日 |
---|---|
0.7.0 | 2024 年 5 月 5 日 |
0.6.0 | 2023 年 12 月 29 日 |
0.5.0 | 2023 年 6 月 25 日 |
0.2.0 | 2023 年 4 月 13 日 |
#281 in 异步
每月 210 次下载
用于 2 crates
50KB
1.5K SLoC
Gasket
一个有观点的 Rust 库,用于使用数据管道语义构建应用程序。它使用类似于 "actor 模型" 的方法,但针对重量级、可组合的数据处理进行了优化。
为什么
- 将数据处理逻辑拆分为小的阶段有助于开发(我的个人经验)
- 阶段易于组合
- 管道是实现可观察性的良好抽象
- 健壮的循环,具有错误处理、回退重试等,普遍且难以正确实现
- 传统的异步循环隐藏了太多的复杂性,难以在大规模上优化
目标
- 零成本抽象(某种程度上)
- 静态类型阶段,运行时动态组合管道
- 开发人员对每个工作单元拥有完全控制权
- 由库提供的健壮的工作循环
- 开箱即用的错误处理,具有不同的策略(重试、退出、回退)
- 开箱即用的完全可观察性(指标、跟踪)
- 多线程管道,阶段内异步选项
- 符合人体工程学的管道设置
- 开箱即用的背压
- 阶段的热插拔(添加/删除)
状态
库的当前状态是:“只有我懂它”。我正在尝试 API 接口,因此经常发生频繁的破坏性更改。
依赖关系
~2.9–4.5MB
~78K SLoC