posts

工作流引擎与任务编排

当业务流程从「一个函数调用」变成「跨越多个服务、数天等待、失败要补偿」时,就需要工作流引擎。本专题覆盖:引擎分类与选型、BPMN 2.0 与 Camunda 建模、Temporal 持久化执行、Airflow DAG 调度、Dagster 与 Prefect 数据编排、状态机引擎、Saga 与分布式事务补偿、人工任务与审批流、规则引擎与决策表、重试幂等与补偿设计、流程实例的可观测与卡单排查,以及工作流与 LLM Agent 编排的融合实践。后续补充的 6 篇进阶内容进一步覆盖事件驱动触发与消息集成、工作流版本管理与迁移、数据传递与 Schema、调度与回填补数、执行器与资源隔离,以及工作流成本优化。

当业务流程从「一个函数调用」变成「跨越多个服务、数天等待、失败要补偿」时,就需要工作流引擎。本专题覆盖:引擎分类与选型、BPMN 2.0 与 Camunda 建模、Temporal 持久化执行、Airflow DAG 调度、Dagster 与 Prefect 数据编排、状态机引擎、Saga 与分布式事务补偿、人工任务与审批流、规则引擎与决策表、重试幂等与补偿设计、流程实例的可观测与卡单排查,以及工作流与 LLM Agent 编排的融合实践。


📚 专题导览

本专题共 18 篇,前 12 篇按「概览 → 建模 → 执行 → 调度 → 编排 → 模型 → 事务 → 人工 → 决策 → 可靠 → 可观测 → 前沿」的顺序组织,后 6 篇为补充进阶内容(触发 → 版本 → 数据 → 调度 → 执行器 → 成本),建议按表序通读:

阶段文章技术要点
概览工作流引擎全景与选型工作流引擎分类、编排与编制之别、选型决策要点
建模BPMN 2.0 与 Camunda 实战BPMN 2.0 元素与网关、Camunda 部署与外部任务
执行Temporal 与持久化执行Temporal 持久化执行、Workflow 与 Activity、确定性约束
调度Airflow DAG 调度体系Airflow DAG 编写、调度器与执行器、Backfill 与 SLA
编排Dagster 与 Prefect 数据编排Dagster 资产模型与 Prefect 流、数据感知编排
模型状态机引擎与状态流转状态机引擎、状态流转与守卫条件、状态持久化
事务Saga 与分布式事务补偿Saga 模式、补偿事务设计、编排式与协同式对比
人工人工任务与审批流表单人工任务与审批流、表单绑定、超时升级与转办
决策规则引擎与决策表规则引擎与决策表、Drools 与表达式求值
可靠重试幂等与补偿设计重试策略、幂等设计、死信队列与人工干预
可观测工作流可观测与调试流程实例追踪、卡单排查、流程指标与告警
前沿工作流与 AI Agent 编排LLM Agent 编排、工具调用、人在回路与工作流融合
触发事件驱动触发与消息集成事件源与触发模型、Kafka/Pulsar 集成、去重与顺序、背压与限流
版本工作流版本管理与迁移定义版本化、运行中实例迁移、Temporal/Camunda 版本机制、回滚与灰度
数据工作流数据传递与 Schema任务间数据契约、大对象外部存储、Schema 演进、敏感数据与序列化
调度调度、回填与补数cron 与间隔调度、依赖感知触发、回填补数、时区与夏令时陷阱
执行器执行器与资源隔离Worker 池与队列优先级、容器化执行、GPU/大内存任务、多租户隔离与弹性
成本工作流成本优化任务粒度与调度开销、缓存与增量、抢占式实例、成本归因与预算控制

阅读建议

全部文章 Game Golang Saas Rust 游戏开发 客户端开发 GameDev TypeScript Lua Products
工作流引擎

工作流成本优化

本文系统讲解工作流的成本优化,回答任务粒度多细才划算、缓存与增量计算能省多少、抢占式实例的重试成本如何核算、闲置资源怎么回收。覆盖成本构成与归因方法、调度开销量化、缓存命中与增量物化、计算下推、Spot 实例的收益与代价、重试成本核算、存储与历史清理、单位成本指标、预算控制与优化优先级排序,并给出可落地的度量方法与配置片段。

18 分钟阅读
工作流 数据工程 调度
工作流引擎

执行器与资源隔离

本文系统讲解工作流的执行器与资源隔离,回答 Worker 池怎么划分、队列优先级如何设计、GPU 与大内存任务如何调度、多租户如何隔离与配额。覆盖执行器四种形态、资源画像与装箱、容器化执行与镜像优化、Pod 启动延迟、GPU 与显存调度、租户隔离层次、配额与抢占、弹性伸缩与冷启动、僵尸任务回收与容量规划,并给出可落地的配置片段与排查方法。

18 分钟阅读
工作流 调度 并发控制
工作流引擎

调度、回填与补数

本文系统讲解工作流的调度、回填与补数,回答 cron 与间隔调度该怎么选、上游未就绪如何等待、回填为什么容易重跑出错、时区与夏令时有哪些陷阱。覆盖数据区间语义、锚点对齐与调度漂移、依赖感知与条件门控、三种回填模式与并发控制、补数与对账、幂等前提、SLA 定义与告警、大规模调度的容量规划,并给出可落地的配置片段与排查方法。

19 分钟阅读
调度 数据工程 回填
工作流引擎

工作流数据传递与 Schema

本文系统讲解工作流的任务间数据传递与 Schema 演进,回答大数据集该传值还是传引用、Schema 变更怎样不破坏运行中实例、敏感字段如何加密与脱敏。覆盖值传递与 Claim Check 模式、中间结果存储选型、Schema 注册中心与兼容规则、序列化格式的体积与性能对比、事件历史累积治理、字段分级与密钥管理、生命周期清理与契约测试,并给出可落地的代码与配置片段。

19 分钟阅读
工作流 数据工程 持久化执行
工作流引擎

工作流版本管理与迁移

本文系统讲解工作流的版本管理与运行中实例迁移,回答新版本上线后老实例怎么办、哪些变更算破坏性、灰度与回滚怎么做。覆盖定义/代码/数据三类版本对象、不可变部署与加法兼容、Temporal getVersion 与 Camunda 版本机制、实例状态迁移与双跑验证、灰度切流、回滚预案、破坏性变更治理与审计观测,并给出可落地的代码与配置片段。

20 分钟阅读
工作流 持久化执行 重放
工作流引擎

事件驱动触发与消息集成

本文系统讲解工作流的事件驱动触发与消息集成,回答事件源如何映射到工作流实例、Kafka 与 Pulsar 集成时顺序与去重怎么保证、背压与触发风暴如何治理。覆盖推拉两种触发模型、分区键与消费组语义、幂等消费与去重表、事件时间与乱序处理、限流与合并窗口、事件驱动与定时调度的边界、死信兜底与观测告警,并给出可落地的配置片段与代码。

20 分钟阅读
工作流 事件驱动 幂等
工作流引擎

工作流与 AI Agent 编排

本文讲解如何用工作流引擎编排 AI Agent,回答哪些步骤该确定哪些该交给模型、Agent 循环与工作流如何取舍、非确定性步骤怎么做幂等。覆盖确定性与非确定性边界、工具调用与副作用隔离、持久化执行下的 LLM 步骤、人工审批节点、成本与延迟控制、多 Agent 协作、失败降级、评估与提示词版本化、安全与可观测,并给出可运行代码。

13 分钟阅读
AI Agent 工作流 编排
工作流引擎

工作流可观测与调试

本文讲解工作流引擎的可观测与调试体系,回答实例卡住怎么查、重放失败怎么定位、跨服务链路如何串起来。覆盖实例查询与业务键索引、事件历史与重放调试、TraceContext 透传、工作流级指标设计、关联 ID 与日志、卡住与积压告警、实时状态可视化、流量回放与灰度、成本观测,并给出可落地的查询与配置。

13 分钟阅读
可观测 调试 链路追踪
工作流引擎

重试幂等与补偿设计

本文系统讲解工作流里的重试与幂等设计,回答哪些错误该重试、退避与抖动怎么配、幂等键怎么设计、至少一次投递下如何不重复扣款。覆盖可重试与不可重试错误分类、指数退避与重试预算、幂等键与去重表、至少一次与恰好一次、租约与心跳、死信队列、补偿的顺序与幂等、并发限流与故障注入,并给出可运行配置与代码。

13 分钟阅读
重试 幂等 补偿
工作流引擎

规则引擎与决策表

本文讲解规则引擎与决策表的建模与落地,回答业务规则该写死在代码里还是抽成决策表、DMN 的命中策略怎么选、规则变更如何灰度与回滚。覆盖 DMN 决策表、FEEL 表达式、决策需求图、Drools 与 DRL、规则版本化与测试、与工作流引擎和策略即代码的边界、评分卡建模、规则冲突与性能优化,并给出可运行的配置与代码。

14 分钟阅读
规则引擎 DMN Drools
工作流引擎

人工任务与审批流表单

本文拆解人工任务与审批流的完整工程实现,回答审批人怎么解析、会签与或签怎么落地、驳回后如何重新提交、表单如何与流程绑定。覆盖候选人模型、认领与完成、加签转办委托、驳回撤回与重提、表单定义与数据存储、SLA 催办与超时升级、组织架构同步、审批留痕与移动端适配,并给出 BPMN 与 Java 的真实代码。

13 分钟阅读
审批流 人工任务 会签
工作流引擎

状态机引擎与状态流转

本文讲解状态机引擎的设计与落地,回答状态该定义在代码里还是表里、并发流转如何防冲突、状态爆炸怎么治。覆盖有限状态机的五个要素、表驱动实现、带前置条件的原子更新与乐观锁、幂等键与审计日志、非法流转的三层防御、超时推进、Spring StateMachine 与 Step Functions 的 ASL 实战,并给出测试策略与落地路线。

14 分钟阅读
状态机 工作流 状态流转
工作流引擎

Dagster 与 Prefect 数据编排

本文对比 Dagster 与 Prefect 两代数据编排框架与 Airflow 的差异,回答资产为中心与任务为中心该怎么选、IO Manager 与资源如何组织、分区与回填怎么落地。覆盖软件定义资产、类型系统与数据契约、资源与 IO Manager、分区回填、Prefect 的 Flow 与 Deployment、Work Pool、重试缓存与抖动、动态工作流与异步,并给出从 Airflow 迁移的路径。

12 分钟阅读
Dagster Prefect 数据编排
工作流引擎

Temporal 与持久化执行

本文深入讲解 Temporal 的持久化执行模型,回答代码即流程如何做到崩溃不丢状态、确定性约束到底限制了什么、版本升级如何不破坏运行中实例。覆盖事件溯源重放、Workflow 与 Activity 职责划分、任务队列与 Worker、信号与定时器、重试策略、Saga 补偿、ContinueAsNew 历史截断与版本兼容,并给出 Java 与 Python 的真实代码片段。

17 分钟阅读
Temporal 持久化执行 工作流