知识卡片

函数编排本质是状态机

专业/工作 · 331

内容

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

参考来源

《Serverless工程实践:从入门到进阶》第1章《什么是Serverless》