Cluster camunda

Hello,

I need to make cluster camunda (two apps from different servers see on some base)
Current config: camunda 7.9 with apache tomcat 9.0.47, jobexacutor enabled
I wanna copy camunda with tomcat on second server and what settings should I do?
Select nginx as load balancer, but say pls alternatives in your opinion

Best regards

UPD

So, I installed nginx at server1 where there is first part of camunda cluster. There is second camunda at server2.
Load balancing method was selected least_conn, added to default nginx conf:
upstream backend {
least_conn;
server $server1_ip;
server $server2_ip;
}

I wanna use http for start, should i do any settings at nginx/caunda?

Thanks

1 Like

In general, you can copy the entire Camunda installation directory to another server and have a reasonable expectation that it will work. I use WildFly, but Tomcat should behave in a similar manner. The only things you need to concern yourself with would be any configuration that is specific to a particular hostname. For example, if you are using HTTPS and pointing at a specific Java keystore, then the server certificate in the keystore must be correct for the server.

The datasource (database), which is really what ties a cluster together, should be the same for both.

The load balancer shouldn’t care what your Camunda configuration is as it generally is just routing to a host and port.

4 Likes

When using a load balancer, make sure to use sticky sessions. The Camunda web application’s do not share sessions across cluster nodes, so plain round-robin load balancing does not work.

2 Likes

When settin up a clustered configuration I like to allocate a given number of nodes as job executors and a different set of nodes wth job executor disabled to act as service nodes. Using this approach you can scale job executors and service nodes independently.

2 Likes

if you are using MSA architecture, you can do client side load balancing using netflix-ribbon dependencies which works on round-robin load balancing algorithm

So, I installed nginx at server1 where there is first part of camunda cluster. There is second camunda at server2.
Load balancing method was selected least_conn, added to default nginx conf:
upstream backend {
least_conn;
server $server1_ip;
server $server2_ip;
}

I wanna use http for start, should i do any settings at nginx/camunda?

Thanks