.NET Architecture & System Design Interview Question #43

What is at-least-once message delivery?

Caching, CDN, Queues & Asynchronous Processing Junior Beginner

Quick Interview Answer

At-least-once delivery retries messages until they are acknowledged or a failure policy is reached. This reduces the risk of message loss but means a consumer may receive the same message multiple times.

Detailed Explanation

At-least-once delivery retries messages until they are acknowledged or a failure policy is reached. This reduces the risk of message loss but means a consumer may receive the same message multiple times.

Consumers should therefore be idempotent or use deduplication techniques. At-least-once delivery is common in practical messaging systems.

Code Example

Message -> Consumer
             |
        processing succeeds
        but ACK is lost
             |
Message -> Consumer again