Skip to content

Geng Flow让复杂流程,清晰地流动

庚,意味着更新、转折与继续生长。一个纯 Rust、以有向图为核心、可持久化恢复的异步流程编排框架。

Geng Flow 庚
26Workspace Crates
19可运行示例
143+自动化测试
4持久化实现
WHY GENG FLOW

为真实业务失败而设计的流程引擎

不只是把任务连起来,更要在并发、等待、重启和部分失败中保持流程状态正确。

01

控制流可解释

线性、条件、并行、循环、等待与子图都落在同一张有向图上,复杂流程仍然能够审查与推演。

02

运行状态可恢复

Token、变量、等待点、重试次数和补偿栈均可持久化,进程重启后从安全位置继续执行。

03

业务能力可组合

通过 Rust Trait 注册 Service、Handler、条件与脚本,不要求业务代码继承框架或依赖反射。

ARCHITECTURE

定义一次,在稳定的执行内核中运行

所有入口最终编译成不可变执行图,运行实例只保存动态状态,让定义演进与实例运行彼此分离。

01 · DEFINEJSON · YAML · Rust Builder声明节点、边、条件、映射与策略
↓
02 · COMPILEGraphSpec → CompiledGraph规范化、引用解析、拓扑与静态校验
↓
03 · EXECUTEEngine · Driver · Registry推进 Token、调度任务、汇聚分支
↓
04 · RECOVERSnapshot · Signal · Retry保存、等待、恢复、死信与补偿
核心设计

图是定义,实例是状态,驱动器负责推进

核心运行时不绑定 Web 框架、数据库或脚本语言。你可以从内存模式开始,再组合 PostgreSQL、SQLite、调度器、工作流与可观测模块。

深入了解核心架构 →
ENTERPRISE CAPABILITIES

覆盖从建模到生产治理的完整能力

把分散在业务代码中的流程控制、错误恢复和人工协作,收敛成可复用的基础设施。

流程建模

复杂图控制流

排他/包容路由、Fork/Join、集合循环、子图和变量映射。

查看控制流
业务集成

Service 与脚本

调用现有 Rust 方法,扩展 Handler、条件求值器和 Rhai 脚本。

查看扩展方式
长流程

等待与持久化

通过 Signal、定时器和快照支撑跨进程、跨小时或跨天执行。

查看恢复机制
人工协作

企业工作流

认领、会签、或签、加签、委托、退回、超时和升级。

查看人工任务
可靠执行

重试与补偿

幂等、退避、Lease、Outbox、死信和 Saga 逆序补偿。

查看可靠性
工程质量

模拟与测试

生命周期事件、指标、追踪、流程模拟和测试工具共同保障交付。

查看完整示例
USE CASES

从短任务,到跨天长流程

凡是能够表达为节点、连接、条件和状态的业务过程,都可以被编排、观测与恢复。

ORDER

电商履约

风控路由、库存与支付并行、物流串联,失败后自动补偿。

APPROVAL

人工审批

申请、认领、会签、委托、退回、加签和超时升级。

SERVICE

微服务编排

用 Handler 适配已有 Service、HTTP、SQL、MQ 与领域接口。

DATA

数据与批处理

分片处理集合,限制并发度,汇聚结果后继续下游任务。

SAGA

长事务 Saga

记录成功副作用,失败时按逆序执行补偿任务。

AGENT

AI Agent 工作流

串联模型、工具和人工确认,并持久化每一步上下文。

QUICK START

一套模型,三种定义方式

Rust Builder、JSON 和 YAML 最终都会经过同一个编译器,生成不可变执行图。

rust
let source = std::fs::read_to_string("flows/order.json")?;
let spec = GraphSpec::from_json_strict(&source)?;
let graph = compile(spec)?;
let mut instance = engine.create_instance(&graph, variables);
engine.run(&graph, &mut instance, RunOptions::default()).await?;
1定义流程使用 Builder、JSON 或 YAML 描述图。
2注册能力把领域 Service 和 Handler 交给运行时。
3驱动执行创建实例,处理完成、等待或失败结果。
READY TO BUILD

用 Rust 构建可恢复的业务流程

从最小示例开始,逐步组合持久化、人工任务、调度和可靠执行能力。

基于 MIT License 发布