Delivery guarantees

At-most-once may lose messages, at-least-once may duplicate them, and exactly-once processing is achieved by combining at-least-once delivery with idempotent handling or transactions.

Where it shows up in real systems

  • Background workers

    Workers absorb slow work such as emails, image resizing or payments reconciliation. Delivery is at-least-once, so handlers must be idempotent or duplicates will create side effects twice.

    In production: Celery, Sidekiq, AWS Lambda event source, Kubernetes Jobs

  • Message queue

    A queue absorbs spikes: the API answers as soon as the message is stored, and workers drain the backlog at their own pace. Standard queues deliver at least once and may reorder; FIFO queues keep order but cap throughput. Messages that fail repeatedly go to a dead-letter queue.

    In production: Amazon SQS, RabbitMQ, Azure Service Bus, Google Cloud Tasks

See it break, then fix it

Build an architecture, send it a day of traffic and outages, and learn why it holds or fails. Free to start.