Assisted Publishing
In Assisted Publishing, actors do not publish events directly to the RabbitMQ Message Broker, but via an Event Publishing service. While Direct Publishing does not require any additional services, Assisted Publishing offers several benefits:
- No language specific library integration. Event Publishing services offer a language agnostic REST API that encapsulates the RabbitMQ Message Broker integration.
- Boilerplate generation. Apart from the event type specific payload, all events contain a certain amount of boilerplate in their meta objects. Event Publishing services can handle that on behalf of its clients, allowing them to focus on the content of the events they need to publish.
- Link lookup. Events reference one another via UUIDs, which means that historical events may sometimes have to be fetched from Event Persistence to create a fully formed new event. Event Publishing services can perform this task on behalf of its clients.
- Version negotiation. Whereas staying up to date with the latest event type versions can be difficult for every single actor, Event Publishing services can offer multiple API end-points for historical versions and create a corresponding event on the latest feasible version.