Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Workflow Module

Workflow 是一种处理流程自动化管理工具,平台提供一组可重复的流程和步骤,经过编排建立上下游依赖后,平台会按照依赖串行/并行执行任务。

Workflow 由流程和流程前后顺序组成,流程包含待执行的步骤和状态。Workflow 平台可支持多种使用方式:

  • 可视化平台。用户拖拉拽整合多种类型的流程节点,建立流程上下游依赖
  • 编辑器。用户通过 yaml 或 json 编辑 Workflow 文件,构建 Workflow

Workflow 一般具有如下特征:

  • Step。插件式 Step 实现,易实现
  • DAG。支持上下游依赖
  • Trigger。支持多种 Trigger,如手动、消息队列、请求或 Cron
  • 自动重试、超时时间、并发限制、负载均衡、异常处理
  • 上下文参数。
    • 全局变量&参数
    • 步骤运行结果
    • 表达式动态参数

引入 Workflow,可优化业务流程:

  • 复用。将业务流程拆分成一个个可复用的 Step
  • 扩展。新增新的业务流程只需实现新的步骤,并替换 Workflow 中的步骤
  • 易维护。

Workflow 实现一般分为 2 类:依赖库和独立服务

  • 依赖库。用户在应用中引入 Workflow 相关依赖,定义 Workflow 和 Step。简单、轻量,即通过 Workflow 优化业务逻辑,又不会因为引入 Workflow 增加请求延迟
  • 独立服务。用户部署 Workflow 服务,在应用中引入 Workflow 相关 client,定义 Workflow 和 Step。Workflow 服务负责 Workflow 运行,应用作为 Step 执行者执行 Workflow 中的 Step。Workflow 服务提供相关自动重试、超时控制、并发限制、负载均衡和异常处理。

独立部署的 Workflow 服务,也存在