Lab 04
Reliability and Recovery Lab
A deterministic browser simulation of failures, bounded retries, duplicate protection and checkpoint recovery.
Interactive lab · fictional simulation
Fictional simulation. No external service runs, no real delivery occurs, and all state disappears when the page reloads.
1. Choose a scenario and run the workflow
Status Choose a fictional scenario, then press Start.
Workflow status
NOT STARTED
- Virtual time
- Delivery attempts
- Retry budget
- Next eligible retry
- Idempotency key
2. Workflow
3. Simulated delivery service and checkpoint
Simulated side effects only
Simulated delivery receipts
A local stand-in for a delivery service. Nothing is sent anywhere.
Service calls
In-memory snapshot
Checkpoint
Held in page memory only. Not durable or tamper-proof storage.
4. Event history
| # | Virtual time | Event | Stage | Attempt | Code |
|---|
What this demonstrates
- Bounded retries: three delivery attempts in total, the first included, with a fixed backoff of 2 s and then 4 s. An early retry is refused, and nothing retries after the budget is spent.
- Failure classes: a transient service fault is retried; invalid input is not, because retrying cannot fix it.
- Duplicate protection within this simulation: a retry reuses the same idempotency key, so a delivery whose acknowledgement was lost is not repeated. The same key with a different payload is refused.
- Checkpoint recovery: after an interruption, work resumes from the last accepted stage without repeating it. A checkpoint from an older request revision is refused.
What production recovery would still need
Production recovery would additionally require durable checkpoints, transactional coordination, service-specific idempotency guarantees, concurrency handling, authentication, monitoring and operational recovery procedures. None of these is implemented here.
This simulation is not evidence of production reliability or measured uptime, and it does not provide exactly-once delivery.