Delivery Guarantees Simulator — Event-Driven Architecture
This is an interactive, browser-based simulator built for teaching
delivery guarantees in Event-Driven Architecture (EDA).
It visualizes the full Producer → Broker → Consumer → Database flow
with animated messages, injectable failures and live metrics.
Scenarios covered
- At-most-once — fire-and-forget; messages can be lost.
- At-least-once — retry until ACK; messages can be duplicated. Toggle consumer-side idempotency to see the bug appear and disappear.
- Exactly-once — broker-side deduplication and transactional commits.
- Dead Letter Queue (DLQ) — poison messages that exceed MaxDeliveryCount are dead-lettered instead of retried forever.
Brokers modeled
- Azure Service Bus (PeekLock, duplicate detection, native DLQ)
- Azure Service Bus with Sessions (FIFO per session)
- Azure Event Hubs (Kafka-like, no native DLQ)
- Azure Event Grid (HTTP pub/sub, dead-letter to Blob Storage)
- Azure Storage Queue (visibility timeout)
- RabbitMQ (publisher confirms, manual ack, DLX)
- Apache Kafka (idempotent producer + transactions; dead-letter topic pattern)
JavaScript is required to run the simulator. Please enable it,
or view the source on
GitHub.