Scenario - I want to run multiple camunda springboot services all pointing same DB and during runtime there might be possible that multiple horizontal instances will be created based on application load. Now during runtime when I deploy new BPMN process using Rest API - would this new process be visible and available for other running Springboot services and their instances as well.
@praveen.nagle Based on the proposed architecture, I can see the segregation between camunda webapps and process execution and that’s a heterogeneous cluster, so make sure that you disable the job executors in the camunda webapps instances.
@Niall@aravindhrs
Based on the Heterogeneous cluster documentation, I got little confused. Please calrify.
To prevent the job acquisition on node 1 from picking jobs that belong to node 2, the process engine can be configured as deployment aware, by the setting following property in the process engine configuration:
Now, the job acquisition thread on node 1 will only pick up jobs that belong to deployments made on that node, which solves the problem. Digging a little deeper, the acquisition will only pick up those jobs that belong to deployments that were registered with the engines it serves."
What if multiple instances running for a particular Springboot Camunda service and if I do deploy using LB URL then it would hit any one one of the instance (random pick) and make the deployment - So now this new “deployed process” would be available for all other instances of same Springboot Camunda service?.
@praveen.nagle I haven’t tried with server side LB, but strategy might be same if you able to set parameters for type of service at instance level.
For example, In client side load balancing with Netflix ribbon, we can configure affinity based rule to set type of instance groups when the microservice registers itself in service registry. When we do client side load balancing we get instance level metadata and based on the affinity rule we can route the request to the specific instances.
If same is possible with server side load balancing, you can try it out.