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.

Outcome and recovery core​

Use the saga extension for explicit unknown outcomes and replay operations. The sequential coordinator model does not replace three-service persistence, crash-boundary or actual quarantine/replay evidence.