EDA Simulator
A browser-based simulator for
Event-Driven Architecture (EDA).
It visualizes the full Producer → Broker → Consumer → Database flow
with animated messages, injectable failures and live metrics.
Patterns 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.
- Outbox Pattern: atomic DB write plus relay polling to broker, no dual-write.
- Inbox Pattern: consumer-side deduplication via atomic inbox table inside the consumer transaction.
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.