2 ms·
I think extensive orchestration leads to the orchestrator becoming a single point of failure. If the orchestrator starts converting events to commands then soon
by orthoxerox 2y ago
I think extensive orchestration leads to the orchestrator becoming a single point of failure. If the orchestrator starts converting events to commands then soon it starts storing state and becomes a big ball of mud.
My preferred form of orchestrator is a gatekeeper. A gatekeeper does three things only:
- maintains a table of which service consumes which events and why
- copies events from the outgoing queues to the dedicated incoming queues according to the routing table (or controls access to the incoming queues via RBAC)
- logs the metadata about the messages it has seen
It doesn't inspect the messages in any way, store them or maintain any runtime state at all.