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