Zeebe Client Manual configuration/Best practice in Spring

Hi,

What should be the best practice for creating a Zeebe client in Spring manual configuration,
one is individual Zeebe client for each worker
or just single client for all worker in application !?

And any reference to doc where best practice is given for creating a spring managed beans (not from the spring starter library) would be really appreciated.
Thanks.

Hi @Movisi,

To the first question about multiple workers or a single worker application. It depends. What does it depend on? A number of factors.

More applications (separate applications for workers) means more codebases and more deployment complexity.

When are the additional moving parts worth the hassle?

If you need to scale workers at different rates, then you would need them to be isolated (separate applications).

You might use domain-driven design and break your microservices on domains, and have separate teams that map to that. If you need them to be (re)deployed on different schedules, or have different teams working on them, then you might put them in different applications, to facilitate that.

If you have single team working on the services, and no independent scaling requirements, then you might put them in a single application.

As a rule of thumb: a single application, unless you have a reason to do it otherwise.

Josh