How to deploy camunda cloud self managed on production without kubernetes

@Zelldon Hi please look at how i am setting zeebe self-managed .

Requirement: want to setup two zeebe brokers on two different machines, and will run another broker if needed, these brokers will belong to same cluster. The cluster should export the data to elasticsearch.
Steps I am doing:

  1. Firstly i am running docker-compose up which runs the first broker in a ec2 machine , i have set the elastic search exporter in this broker.
  2. after first broker is up , i ran another docker-compose up with different configs ( elasticsearch exporter is not used, )

Questions:

  1. did i need to use elastic search exporter on all brokers that are in cluster or have to specify in only first broker gateway connects to.
  2. does by default configuration different gateways are created for all brokers.
  3. also i want to experiment this setup in javascript, so how would i know that proccess instances are distributed between different brokers if my setup is correct.
  4. please answer these questions as i am not getting these after reading.
  5. Or this is not correct way to setup zeebe cluster, we should go with kubernetes with helm charts.

I wrote my answer in slack Workspace Deleted | Slack

This is one of the reason why we recommend to use kubernetes and our helm charts for production, everything is configured for you already and makes it easier to adjust. Camunda 8 on Kubernetes | Camunda 8 Docs

Nevertheless, if you want to use docker compose you could also use networks and aliases to determine the contact points. Compose file version 2 reference | Docker Docs Set the name in the contact point array and they will be resolved then.

Question why do you want to use two brokers? It is wise to use an odd number of replicas, since Zeebe uses raft. See distributed - Why is it recommended to create clusters with odd number of nodes - Stack Overflow

I don’t get your second point. after first broker is up , i ran another docker-compose up with different configs ( elasticsearch exporter is not used, ) Please use the same configuration for all broker nodes, otherwise it is uncertain what will happen on a leader change.

To you questions:
Yes on all brokers same configs
Per default embedded gateways are enabled yes. They are running in each broker.
Process instances are distributed over partitions not brokers. If you have for example three partitions, and one node is leader for all it might happen that the process instance hit the same node, but likely different partitions. Partitions are distributed/replicated based on the replication factor.
5. It is recommended to use helm and kubernetes yes

Hope this helps.

2 Likes