摘要
业务流程请求的执行需要工作流引擎解析流程定义文档,构建内存流程模型,而当前无状态云工作流调度没有考虑流程模型在引擎内存上的分布,导致引擎重复解析流程文档,造成系统性能下降。鉴于此,以无状态工作流引擎Activiti为研究对象,根据Activiti引擎流程模型缓存机制,提出一种无状态云工作流流程实例任务请求的调度算法,使得同一流程定义下的请求尽量分配到少数引擎。仿真对比实验结果表明,该算法在实现了引擎实例负载均衡的前提下,通过提高引擎的缓存命中率,减少了数据库查询次数和流程定义文档解析次数,从而减少了请求响应时间,节约了云上资源。
- 单位