知识卡片
函数编排本质是状态机
内容
当一个业务流程需要拆成多个由不同事件触发的函数时(顺序执行、并行执行、按条件分支、失败重试),
直接在函数代码里手写”调用完这个再调用那个”很快会变得难以追踪和维护。CNCF的Serverless Workflow
规范把这个问题抽象成状态机:每个步骤是一个”状态”(事件状态、操作状态、分支状态、延迟状态、并行
状态、结束状态),状态之间通过next-state显式声明转换关系,输入输出通过过滤器在状态间传递。
这样函数编排的逻辑就从”埋在代码里的调用链”变成了一份可读、可视化、可跨平台迁移的声明式描述。
发散:这其实是把编排问题从”命令式”搬到”声明式”的通用套路,Kubernetes的Pod状态、CI/CD流水线的
阶段划分本质上也是同一种思路——用有限状态机去驯服本来会失控的多步骤异步流程。
参考来源
《Serverless工程实践:从入门到进阶》第1章《什么是Serverless》