← All games

Outbox Relay Recovery

Recover a transactional outbox relay across commit, publish-confirm, duplicate delivery, and poison-event failure windows.

Concept
Transactional outbox and relay recovery
Difficulty
Advanced
Play time
8-12 minutes
Path
Async Workflows

Interactive scenario

Playable game area: Make the next backend decision

Use the controls below. Feedback appears immediately and final scores stay in this browser.

Concept notes

Why this decision matters

Outbox Relay Recovery is focused practice for Transactional outbox and relay recovery. It explains why each answer is safe, risky, or production-ready.

The relay lab focuses on the crash windows that make a transactional outbox reliable in production.

Learning objectives

  • Keep business state and publication intent atomic.
  • Handle relay concurrency and publish-confirm ambiguity.
  • Operate poison-event recovery safely.

How to play

  1. Read each failure window.
  2. Choose the action that preserves the durable invariant.
  3. Use feedback and simulation indicators to refine the relay.

Scoring

  • Correct decisions add 250 points.
  • Incorrect decisions create a local review item.
  • A perfect run scores 1,000.

Backend concept notes

An outbox atomically stores business state and publication intent in one database transaction.

The relay is still at-least-once: stable event identity and idempotent consumers remain required.

Common mistakes

  • Marking an event published before sending it.
  • Assuming a timeout proves broker failure.
  • Retrying poison events forever.

Review misses from this game

Related Backend Study Lab tools

Use tools from the main site when you want to inspect real inputs.

FAQ

Short answers for how this game fits backend interview and study practice.

Does an outbox provide exactly-once delivery?

No. It closes the database-and-broker dual-write gap but can still publish duplicates.

Why use SKIP LOCKED?

It lets relay workers claim different bounded batches without blocking the whole queue.

Leaderboard

Top 10 scores for the current ruleset. No account required.

Loading leaderboard...

    Finish the game to load your latest local score.