Skip to content

Messaging adapters

The full profile publishes a small ResourceChangedEvent contract after successful user-service CRUD operations. Messaging is optional: the default NullEventPublisher skips delivery, no broker package is installed, and a publisher failure is logged without changing the REST response.

Replace the default registration in a generated application with an adapter for the broker or transport selected by the team:

builder.Services.AddSingleton<IEventPublisher, YourEventPublisher>();

The interface can be implemented with RabbitMQ, Kafka, Azure Service Bus, Amazon SNS/SQS, Google Pub/Sub, or an internal queue. For durable delivery, replace the no-op publisher with an outbox-backed implementation and make the consumer idempotent. The starter deliberately does not impose broker configuration, retry policy, serialization format, or deployment topology.

The minimal profile remains dependency-free and unchanged. REST endpoints and their response contracts do not depend on a messaging backend.