Event Architecture
Summary
Shared abstractions separate contract serialization, outbox storage, relay processing and broker publication. Consumer services implement their own hosted listeners and persistence behavior.
Audience
Backend engineers, integration engineers, solution architects, QA, and operations reviewers.
Reference Content
Shared responsibilities
- IntegrationEvent defines the common envelope shape, including event identity, type, occurrence time, correlation/causation slots, source and schema version.
- The serializer produces the outbox representation.
- OutboxProcessor reads pending/failed entries, publishes through IEventBus and marks processed or failed.
- Individual contexts provide an outbox store.
- Individual services decide whether to register a hosted relay or consumer.
Boundary classifications
HTTP Employee provisioning and Workflow callbacks bypass this messaging chain. Gateway route forwarding also bypasses it. Compatibility email/notification queues are separate delivery mechanisms, not shared integration events.
Deployment boundary
No live broker or deployed consumer was inspected. Runtime delivery, infrastructure bindings and permissions Require confirmation.
Requires confirmation
Unless explicitly confirmed above, live delivery, consumer deployment, replay, reconciliation, retention, contract governance, monitoring and production ownership require confirmation.
Source References
microservices/src/shared-kernel/Messaging/IEventBus.csmicroservices/src/shared-kernel/Messaging/OutboxProcessor.csmicroservices/src/recruitment-service/Messaging/OutboxRelayHostedService.csmicroservices/src/notification-service/Messaging/NotificationEventConsumer.cs
Related Articles
See Also
Keywords
- Onboarding events
- Offboarding events
- Integration contracts
Revision Information
- Status: Draft
- Last reviewed: 2026-07-20
- Review cycle: Quarterly