维基百科对工作流的定义是:对工作流程及其各操作步骤之间业务规则的抽象、概括描述。我们认为工作流的主要职责是:保证结果一致性,提高容错性要求:对错误重试,捕获,执行回滚或补偿逻辑为长时间运行的流程维护持久化状态,保证任务调度可靠性控制逻辑和任务逻辑解耦:细化责任,便于管理、维护和扩展流程控制中心化、可视化:增强进度可观测性,简化来自不同背景人群的交流模板方式定义控制逻辑和任务依赖:减少重复工作,统一流程描述标准工作流通常适用于有状态的(stateful),异步 (async),长时间执行(long running)等特性的业务场景。其中比较典型的场景包括:视频,音频,图片处理工作流订单、审批流程数据处理流水线自动化运维机器学习流水线、基因测序工作流常见的开源工作流服务软件如 Apache Airflow,Activiti,Flowable,Netflix Conductor 等提供了使用代码,DSL 或是 BPMN 这类标准的工作流描述方式,允许开发者自己搭建工作流服务。不同云服务厂商也提供了各自的工作流服务如 AWS Step Functions, AWS Simple Workflow Service,Azure Durable Functions。那么有没有一个云原生的工作流服务呢?Serverless Workflow项目由CNCF(Cloud Native Computing Foundation,云原生计算基金会)托管。它的引擎是用 c# 实现的,思想非常不错,社区有人在用c# 做云原生项目。有关谁参与以及Serverless Workflow扮演角色的详细信息,请阅读Serverless Workflow的建议书:https://github.com/cncf/toc/blob/master/proposals/serverlessworkflow.md网站/代码:http://serverlessworkflow.io/https://github.com/serverlessworkflow文档:https://github.com/serverlessworkflow/specificationhttps://github.com/serverlessworkflow/specification/wiki错误和功能请求:https://github.com/serverlessworkflow/specification/issues即时交流:https://slack.cncf.io/的#serverless-workflow频道邮件列表:https://lists.cncf.io/g/cncf-wg-serverless订阅邮件列表,也可以发电邮到:cncf-wg-serverless+subscribe@lists.cncf.io

查看原文