常见工作流框架:微服务编排引擎
工作流框架还是比较多的,按照语言分类的话,有
Java: jBPM、Activiti、SWF
PHP: Tpflow、PHPworkflow
Go: Cadence(Cadence由Uber开发并开源,Maxim Fateev是Cadence的主架构师)、Temporal(Maxim Fateev为了推广Workflow编排引擎的商业化,另立门户创建了Temporal)、Fastflow
工单系统调研:https://zhihu.kdocs.cn/l/ccLQYQzyjX9L?from_wecom=1#
| 特点 | 缺点 | 可视化界面 | 语言 | 开源 | |
|---|---|---|---|---|---|
| jBPM | 
 | 
 | 无 | java | |
| Activiti | 
 | 
 | 无 | java | 开源,star: 9.3k,近2天有更新 | 
| liteflow | 
 | 图形化界面 | java | 开源,star: 1.7k,近1周有更新 | |
| n8n(工作流) docker run -it --rm --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n docker.n8n.io/n8nio/n8n | 
 | 
 | 图形化界面,关联节点,事件触发 | js | 开源,star: 29.1k,近1天有更新 | 
| Temporal Cadence | 
 | 
 | 图形化界面,可以清楚的知道上下文 | golang | 开源,star: 6.8k,近1天有更新 | 
| Fastflow | 
 | 无 | golang | 开源,star: 108,近三月有更新 | |
| flowable | 
 | 
 | java | 开源版本维护滞留 | |
| Camunda | 
 | 
 | |||
| 公司内部的工作流编排相关使用分析 | |||||
| 需求场景 | 工作流选型 | 产品特点 | |||
| Airbyte 数据同步引擎 | Temporal | 
 | |||
| 云效部署、流水线发布 
 | camunda (Activiti 5 衍生) | BPMN2.0(图形编排能力) 
 | |||
| zelus 定时任务调度平台 
 | 依赖的是k8s 的组件 + argo-workflow | 
 | |||
| 研发效能工具 
 | activiti | 可以绘制流程图 | |||
| RFC - 流程编排 - bpmn-js(LCDP)前端部分的流程编排方案 
 | bpmn-js 
 | 有不错的扩展性和用户体验 
 | |||
| 理解策略识别调度服务 | dag 调度策略(有向无环图) 自研 | 
 | |||
| 星河 流程编排 SDK(StarRiver) 
 | |||||
如何选型
针对我们自身的开发效率、支撑能力、稳定性
-  多异步事件 
-  服务可靠性低 
-  流程长繁杂 
-  复杂状态 
工作流通常适用于,有状态的、异步、长时间执行等特性的业务场景,比较典型的场景包括
-  视频、音频、图片处理工作流 
-  订单、审批流程 
-  数据处理流水线 
-  自动化运维