Skip to main content

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.cs
  • microservices/src/shared-kernel/Messaging/OutboxProcessor.cs
  • microservices/src/recruitment-service/Messaging/OutboxRelayHostedService.cs
  • microservices/src/notification-service/Messaging/NotificationEventConsumer.cs

See Also

Keywords

  • Onboarding events
  • Offboarding events
  • Integration contracts

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-20
  • Review cycle: Quarterly