Standalone vs Embedded Gateway

Hi
I’ve been reading through the Zeebe docs and read that the Gateway could be deployed Standalone or Embedded in a Broker.

I was wondering what the benefits of each approach is and when I would use one other the other?

Thanks
Andy

Just use embedded to start with.

The question of which to use involves other aspects like what your ingress controller is, where your workers are running, what your load-balancer looks like, what’s your cluster topology, etc.

Don’t worry about it for now. Start with embedded, then get yourself to the point where you can performance profile a mock of your system.

Then switch to a standalone gateway and profile that. You’ll need to profile fail-overs, so you need three standalone gateways to get the same failure tolerance as a three-node cluster with embedded.

And then you have the answer to your question that is not “it depends…”

But you might find after you get to profiling the system with the embedded gateway that you have no need to do that work, in which case the answer for your use case is “who cares…”

Using the standalone gateway may help you get more performance, but it introduces more complexity. So you want to be clear that you need it, or may benefit from it at least, then profile it against your embedded baseline, and weigh up the difference against the increase in architectural complexity.

1 Like

Hi @jwulf

Thanks for the detailed reply. It sounds like we should stick with using embedded gateway, but it is good to know that performance gains could be made by switching to a standalone gateway, if required.

1 Like

Yes, but just substitute “may or may not” for “could” to be precise. You would need to performance profile it. There are many factors involved, including network latency (standalone) versus CPU contention (embedded).

1 Like