Serverless Workflow 項目
維基百科對工作流的定義是:對工作流程及其各操作步驟之間業務規則的抽象、概括描述。我們認爲工作流的主要職責是:
-
保證結果一致性,提高容錯性要求:對錯誤重試,捕獲,執行回滾或補償邏輯
-
爲長時間運行的流程維護持久化狀態,保證任務調度可靠性
-
控制邏輯和任務邏輯解耦:細化責任,便於管理、維護和擴展
-
流程控制中心化、可視化:增強進度可觀測性,簡化來自不同背景人羣的交流
-
模板方式定義控制邏輯和任務依賴:減少重複工作,統一流程描述標準
工作流通常適用於有狀態的(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/specification
https://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
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/b8Fey0jBVvGAf56e3z5dcA