流程引擎camunda集群部署方案

camunda是一个流程引擎框架,fork activiti得来,官网:https://camunda.org/


集群部署的效果;

1、多个机器运行流程应用

2、流程有更新的时候,兼容老流程(通常新流程是添加节点,和处理逻辑)

3、部署新应用的机器能执行新老job,部署老应用的机器不能执行,新应用的job


修改点:

1、流程定义的发布,原版中,需要发布的bpmn与数据库中最新的流程定义比较,如果不同就发布

存在问的题:多机部署的情况下,新老应用来回重启会导致数据库中的流程定义来回发布

顾修改点为:发布bpmn时和数据库中的所有流程定义比较,如果找不到相同的再发布。

2、应用机拿数据库job的方式,原版中,应用机器是拿所有版本的job,有一个配置jobExecutorDeploymentAware只拿自己本次部署的,但是会导致没法处理比本次版本低的job

顾修改点为:在流程定义发布的时候,缓存比发布版本低的所有deploymentId,从数据库拿job的时候通过这些deploymentId来过滤

3、应用发布流程单修改,通过流程定义的某个版本号来启动流程。此点需要基于1中缓存,与bpmn相同的数据库流程定义id


以上源码修改之后

camunda就可以满足集群部署了

修改的文件:

        modified:   pom.xml
        modified:   src/main/java/org/camunda/bpm/engine/ProcessEngineConfiguration.java
        modified:   src/main/java/org/camunda/bpm/engine/impl/cfg/ProcessEngineConfigurationImpl.java
        modified:   src/main/java/org/camunda/bpm/engine/impl/cmd/DeployCmd.java
        modified:   src/main/java/org/camunda/bpm/engine/impl/persistence/entity/JobManager.java
        modified:   src/main/resources/org/camunda/bpm/engine/impl/mapping/entity/Job.xml



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值