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 异步

Download history 85/week @ 2024-04-24 202/week @ 2024-05-01 39/week @ 2024-05-08 426/week @ 2024-05-15 212/week @ 2024-05-22 32/week @ 2024-05-29 19/week @ 2024-06-05 8/week @ 2024-06-12 6/week @ 2024-06-19 12/week @ 2024-06-26 30/week @ 2024-07-03 36/week @ 2024-07-10 14/week @ 2024-07-17 104/week @ 2024-07-24 90/week @ 2024-07-31

每月 210 次下载
用于 2 crates

Apache-2.0

50KB
1.5K SLoC

Gasket

一个有观点的 Rust 库,用于使用数据管道语义构建应用程序。它使用类似于 "actor 模型" 的方法,但针对重量级、可组合的数据处理进行了优化。

为什么

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

目标

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

状态

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

依赖关系

~2.9–4.5MB
~78K SLoC