I want to hroizonallly scale (sharding) of shared mysql database that is used by many process engines.
SO how can i do this, SO if i am not wrong scaling of this mysql database is independent of who is using this database(in our case process engines) right?
Basically i have to scale this mysql database as if would have scaled another database which is used by some “xyz” service. Or there is something i need to consider while scaling this mysql database(used by camunda process engines) which is camunda specific??
Please provide with doc link which specify what needs to taken into account while scaling shared database.
Hi,
One way to scale or shard your app is take a hash of a durable identifier…For example, if your processes are central to a customer, you could take the customer email address, hash it and then take the remainder of divide by 3. Hence you get 0,1,2. Then based on this value, use a load balancer to send requests to 1 of 3 shards. Hence in this case you may have 3 distinct clusters which are completely independent and gou have a distribution layer which maintains affinity with one of the shards…An alternate approach is just use camunda cloud…
Regards
Rob
@Webcyberrob my question mainly on point, As camunda process engine send data to database so to scale database i have to change how process engine is sending data to database right??
Basically i have to put the logic of “hashing” that you specified in the logic where process engine is sending the data to database. So in short i have to look on the code of process engine??
Or there is some way to scale( shard database) without changing internal code of process engine.
Q2 If i use self managed camunda cloud , then i will use kubernetees clusters to deploy brokers, and to scale brokers i can just increase node in cluster, but how to scale elastic search ?? do i need to scale it(elastic search) or i am asking something wrong. And how to scale elastic search if it is neccassary.