Complete parallel tasks

Hi Team,

I created workflow for parallel processes as the below image

Its executed as expected in springboot application all the tasks executed in application within 15 ms(parallel), but if i observed in zeebe monitor its taking more time to complete the task.
as per my observation tasks completed one by one because of that reason its taking more time to complete the workflow.
client.newCompleteCommand(job.getKey()).variables(obj).send();

can you please help me out, how to end the tasks parallel ?

Regards
Siva

Hi @sivakrishna,

using a parallel gateway, the outgoing flows are executed concurrently by Zeebe. That means the different paths are not blocked by each other and the tasks can be processed concurrently.

However, it is not a real parallel execution in Zeebe because all commands and events of this workflow instance are written to the same partition. On the partition, the command and events are always appended on the end and are processed by a single processor (i.e. single writer principle).

In order to scale and process work in parallel, you can define multiple partitions in your Zeebe cluster. The partitions are independently and process in parallel.

Does this answer your question?

Best regards,
Philipp

1 Like

Yes @philipp.ossler , So as per your answer we can’t complete the tasks parallel in a single zeebe cluster, If we want to achieve that need to create more clusters to complete the tasks parallel, actually we deployed zeebe based workflows in production we are suffering lot of performance issues, SpringBoot applications responds immediately. For example all parallel processes completed 15ms but workflow takes 350ms to complete.
If create more clusters then resolve performance issue right?

1 Like

The jobs can be processed parallel in the client. But the command processing and the workflow execution happens sequentially in the broker.

So, a simple calculation would look like:

client job processing: 6 * 15ms = 90ms
+ client polling jobs
+ client completing jobs
+ workflow execution in broker (multiple events on the log stream)

It depends. A single workflow can not be parallelized in the broker since it is written to a single partition. You can add more partition to increase the throughput.

1 Like