流程引擎camunda叢集部署方案__camunda

來源:互聯網
上載者:User

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



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.