2 个不稳定版本

0.8.0 2024年5月18日
0.7.0 2024年5月5日

#19 in #prometheus-exporter

50 每月下载量

Apache-2.0

55KB
1.5K SLoC

Gasket

一个用于使用数据管道语义构建应用程序的 Rust 库。它采用与“Actor 模型”类似的方法,但针对重型、可组合的数据处理进行了微调。

原因

  • 将数据处理逻辑拆分成小的阶段可以促进开发(我的经验)
  • 阶段易于组合
  • 管道是实现可观察性的良好抽象
  • 具有错误处理、回退重试等的鲁棒循环普遍存在且难以正确实现
  • 传统的异步循环隐藏了过多的复杂性,难以进行规模优化

目标

  • 零成本抽象(某种程度)
  • 静态类型阶段,在运行时动态组合管道
  • 开发人员可以对每个工作单元完全控制
  • 由库提供的鲁棒工作循环
  • 开箱即用的错误处理,具有不同的策略(重试、退出、回退)
  • 开箱即用的完全可观察性(指标、跟踪)
  • 多线程管道,阶段内的异步选项
  • 符合人体工程学的管道设置
  • 开箱即用的背压
  • 阶段的即插即用(添加/删除)

状态

库的当前状态是:“只有我明白它”。我正在尝试 API 界面,因此经常发生频繁的破坏性更改。

依赖项

~16–29MB
~510K SLoC