2 个不稳定版本
0.8.0 | 2024年5月18日 |
---|---|
0.7.0 | 2024年5月5日 |
#19 in #prometheus-exporter
50 每月下载量
55KB
1.5K SLoC
Gasket
一个用于使用数据管道语义构建应用程序的 Rust 库。它采用与“Actor 模型”类似的方法,但针对重型、可组合的数据处理进行了微调。
原因
- 将数据处理逻辑拆分成小的阶段可以促进开发(我的经验)
- 阶段易于组合
- 管道是实现可观察性的良好抽象
- 具有错误处理、回退重试等的鲁棒循环普遍存在且难以正确实现
- 传统的异步循环隐藏了过多的复杂性,难以进行规模优化
目标
- 零成本抽象(某种程度)
- 静态类型阶段,在运行时动态组合管道
- 开发人员可以对每个工作单元完全控制
- 由库提供的鲁棒工作循环
- 开箱即用的错误处理,具有不同的策略(重试、退出、回退)
- 开箱即用的完全可观察性(指标、跟踪)
- 多线程管道,阶段内的异步选项
- 符合人体工程学的管道设置
- 开箱即用的背压
- 阶段的即插即用(添加/删除)
状态
库的当前状态是:“只有我明白它”。我正在尝试 API 界面,因此经常发生频繁的破坏性更改。
依赖项
~16–29MB
~510K SLoC