Skip to main content

Module 3: Event-Driven Architecture: Guided Labs

Lab 1: Event Contract Design

Define commands, facts, identities, ordering keys, schemas, ownership, compatibility, and retention for one workflow. Reject events that expose internal rows or ambiguous intent.

Lab 2: Outbox and Idempotent Consumer

Implement atomic domain/outbox persistence, an at-least-once relay, and consumer deduplication. Crash at every boundary and verify one semantic effect.

Lab 3: Saga State Machine

Coordinate three services with explicit states, timeouts, compensation, irreversibility, and operator intervention. Test duplicate and out-of-order events.

Lab 4: Poison Message Operations

Quarantine an invalid message, alert, diagnose, repair code or data, replay safely, and document ownership and retention.

Evidence: schemas, state diagrams, failure tests, telemetry, and replay record.