Optimal number on instances of ZeebeClient

Hi, i am starting to play/evaluate with zeebe. I have created a cluster on openshift and want to use a java client. I have created a quarkus application where i deploy processes and register workers (JobHandler). I use also this app to start processes.
For all of these a ZeebeClient is necessary to handle those request. Is there any recommended way how many instances of ZeebeClient to use?
I am creating the client with
ZeebeClient.newClientBuilder().brokerContactPoint(zeebeGatewayUrl + ":" + zeebeGatewayPort).usePlaintext().build();
Regarding deployment of processes is one client enough and after i deploy all processes can i close the client?
In order to register workers (JobHandler) should i have one client per worker or just open one client and open all clients on it.
When there is a simple operation like start process, complete a step for this always a new client should be created and then closed or still one instance of ZeebeClient can be used?

@mhorvath you can check the Zeebe Spring Boot integration to try to copy the same behaviour. If you are working with Quarkus, it will be great to have Zeebe Quarkus integration in a separate repo.
If you can share some code I can jump in and help you testing and making sure that we are not creating too many clients if they are not actually needed.

In general terms, when you create a worker you need to keep the client open for the worker to consume jobs. So I would create a single client and keep it open.

@salaboy i have a written a quarkus extension. to deploy processes and automatically register JobHandler’s via annotation, so it would be great to make it as a zeebe community project. So if you could create such a project i could then make a push/prepare merge there as a starting point

Create the project in your own GitHub repo, I can fork it from there and add to the org when it is more mature and we have tested a bit.