Netflix Conductor microservices orchestration engine.
盘古BPM-BPM快速开发平台-工作流引擎-工作流管理系统
http://www.pangubpm.com/
机器人流程自动化与数字流程自动化
http://www.pangubpm.com/doc5359.html
50个业务自动化思想
http://www.pangubpm.com/doc5356.html
无服务功能
http://www.pangubpm.com/doc5357.html
GitHub - Netflix/conductor: Conductor is a microservices orchestration engine.
https://github.com/Netflix/conductor
Conductor
https://netflix.github.io/conductor/
Architecture - Conductor
https://netflix.github.io/conductor/architecture/
Start a Workflow - Conductor
https://netflix.github.io/conductor/gettingstarted/startworkflow/
Netflix Conductor:流程的反转控制-InfoQ
https://www.infoq.cn/article/netflix-conductor-introduction
开源微服务编排框架:Netflix Conductor - 知乎
https://zhuanlan.zhihu.com/p/440578308
ExecutionLockService
WorkflowReconciler会定期尝试decide所有正在运行中的流程用于超时判断、维护流程一致性。但是流程本身正常执行也会触发decide,如果同一个执行同时触发两个decide,可能会导致状态混乱,执行卡住等问题。
conductor采用了锁来解决这个问题,其提供了单机LocalOnlyLock(基于信号量实现)、redis分布式锁(基于redission实现)、zookeeper分布式锁三种实现。
decide方法中最开始会尝试获取锁,如果获取失败则直接返回。通过锁来保障不会对同一个流程实例并发执行decide。
if (!executionLockService.acquireLock(workflowId)) {
return false;
}
由于锁是可配置的,可能会导致一个误区:单台机器的话不用配置锁。其实单机也是需要配置锁的,因为WorkflowReconciler和流程正常执行会产生冲突,可能会导致偶发的流程状态混乱问题。
Netflix Conductor和 电力仿真 BPA 潮流计算 有众多 思维相似之处。
https://www.cnblogs.com/rgqancy/p/15943766.html
深入浅出Netflix Conductor使用 - 简书
https://www.jianshu.com/p/4eae1af8afa8