Process deployment in clusters – process engine – camunda bpm forum
Hello, we’re going to build application based on camunda, that will work on multiple clusters. Os x data recovery free As the application is business critical and must be accessible 24/7, the deployment scenario will be something like this.
As we don’t have previous experience with camunda in prod environment, I’d like to ask, what mechanism would be best for process deployment.
Fda 510 k database If possible, we’d like to avoid any rest calls in the deployment process.
1. Database research implement application version discovery in the environment(e.g. Graph database network discovery or table in DB), and if all existing application are at the newest version and same as the application currently being deployed, deploy the processes contained in the jar.
While the clustering model (basically a shared back end database) makes scaling relatively easy, it does present a problem with deployment and version control. Data recovery android free The most common problem is that of class loading.
For example, if you have a 3 server cluster (we use WildFly so that’s what I going to use), you deploy process “Invoice” with it’s attendant Java classes to server 1. Database software While this is going on, a request comes in to start the Invoice process. Database software definition Camunda then begins to execute the workflow. Database error 7719 at exe One task on the workflow requires a Java class, but it is executed on server #2, to which you have not yet deployed the classes. Data recovery nj Camunda is perfectly happy to execute it there because the BPMN code representing the workflow is available to all servers. Iphone 6 data recovery mac However, it fails because the WildFly server doesn’t have the necessary classes.
You can mitigate some of this through the process.xml file so that activities won’t execute on servers where the workflow has not been formally deployed. Database design tool However, that limits both your redundancy and scaling unless you want to impose a complicated scheme of management over that.
You don’t really have version control issues if you’re only execute BPMN (i.e. H data recovery software no external Java classes) code because it becomes available instantly on all servers. 1 care data recovery software So if your request comes in to server #1 and its execution is distributed to all three servers, then it will use a consistent version and BPMN code everywhere.
If you want more tightly controlled behavior, then you probably need your client to specify an explicit version. Database user interface That has clear overhead, but it means you can control what is being executed. Data recovery jaipur You can deploy a new version with all its classes or whatever, make sure it works, then tell the client to invoke version Y rather than version X.
We’ve taken a different route. Database platforms We’re putting an intelligent message buffering system in front of Camunda so that we can pause inbound requests during deployment. Data recovery group If you have a large number of servers, this might be something to consider.