本文主要对Serverless工作流涉及的专有名词及术语进行定义及解析,方便您更好地理解相关概念并使用Serverless工作流。

Serverless工作流(Serverless Workflow)
协调多个分布式任务执行的全托管Serverless云服务。通过Serverless工作流,您可以用顺序、分支、并行等方式来编排分布式任务,以确保流程按照设定好的顺序可靠地协调任务执行。
分布式任务
Serverless工作流中的分布式任务可以是函数、已集成云服务的API、运行在虚拟机或容器上的程序。
流程(Flow)
定义了业务逻辑描述以及流程执行所需要的通用信息。
步骤(Step)
步骤是流程中的工作单元,可以是简单的原子步骤,如任务(task)、成功(succeed)、失败(fail)、等待(wait)和传递(pass)等;也可以是复杂的控制步骤,如选择(choice)、并行(parallel)和并行循环(foreach)等。步骤的组合使用构建了复杂的业务逻辑。
父步骤
如果步骤A包含步骤B,则称步骤A为父步骤。
子步骤
如果步骤A包含步骤B,则称步骤B为子步骤。
任务步骤(task)
步骤类型之一,使用任务步骤来定义函数计算服务的函数调用信息,执行任务步骤会调用相应的函数。
传递步骤(pass)
步骤类型之一,使用传递步骤来输出常量或者将输入转换成期望的输出。该类型的步骤通常用于调试未创建任务步骤的函数的流程逻辑。
等待步骤(wait)
步骤类型之一,使用等待步骤来暂停执行流程,然后再继续执行。您可以选择一个等待的相对时间,也可以以时间戳方式指定等待结束的绝对时间。
选择步骤(choice)
步骤类型之一,使用选择步骤让流程根据条件执行不同步骤。
并行步骤(parallel)
步骤类型之一,使用并行步骤并行执行多个不同步骤。
并行循环步骤(foreach)
步骤类型之一,使用并行循环步骤并行执行多个相同的步骤。
成功步骤(succeed)
步骤类型之一,使用成功步骤提前结束一系列串行的步骤。成功步骤通常和选择步骤结合使用,在选择步骤条件满足的情况下跳转到一个成功步骤,从而不再执行其他步骤。
失败步骤(fail)
步骤类型之一,使用失败步骤提前结束一系列串行的步骤。当流程执行完失败步骤后,定义在失败步骤之后的步骤不会被继续执行,并且导致失败步骤的父步骤失败,并一直传递,最后导致流程执行失败。
流程定义语言FDL(Flow Definition Language)
用来描述和定义业务逻辑,在执行流程时,Serverless工作流服务会根据流程定义依次执行相关步骤。
定时调度
Serverless工作流支持在指定时间调度您的工作流。