The “concierge” service is responsible for orchestrating the backing persistence services and for performing
authorization of commands and command responses.
It acts as a gatekeeper and entry point for other services providing APIs:
Those services do not need to be aware of authorization and routing of messages in the cluster.
The concierge service has no model by its own, but uses the model of all the services it orchestrates.
The concierge service has no signals by its own, but uses the signals of all the services it orchestrates.
The concierge service uses Akka persistence and
with that Event sourcing in order to persist changes to
and restore persisted batch commands.
- accept any commands, command responses
and events of all orchestrated services
- apply authorization to those, reply with authorization failures if the caller had no permission
to execute a command
- delegate authorized commands/responses/events to the orchestrated services where they are processed