NEW
A delivery guarantee where messages may be redelivered but not lost, requiring deduplication for correctness.
DESCRIPTION
At-least-once delivery ensures reliability by redelivering messages until acknowledged. It is the default in many brokers and streaming systems to prevent data loss. Consumers must handle duplicates using idempotent operations or deduplication keys. This guarantee balances durability with operational simplicity, though it can introduce double-processing without safeguards. Tuning retry policies and dead-letter queues is essential.
ALTERNATIVE DEFINITIONS
Wikipedia
At least once is a message delivery guarantee that ensures that every message is delivered at least once to the recipient.
Provides a succinct, general definition of the delivery guarantee.
AWS
Amazon SQS offers reliable, highly-scalable hosted queues for storing messages as they travel between computers, and delivers messages at-least-once.
Highlights at-least-once delivery as the practical default in SQS.
RabbitMQ
Publisher confirms and consumer acknowledgements provide at-least-once delivery semantics, with messages redelivered if not acknowledged.
Describes mechanism via confirms and acknowledgments in RabbitMQ.
RELATED TERMS
Acknowledge Retries Entity Matching Idempotency Dead Letter Queue Offset Commit Checkpointing Visibility Timeout
COMPETING TERMS
At-Most-Once Delivery Exactly-Once Processing
KNOWLEDGE AREAS
Real-time & Streaming Data Data Engineering Data Integration & Interoperability Data Architecture
TARGET AUDIENCE
Data Engineer Software Developer DevOps Engineer Cloud Architect
EXTERNAL SOURCES
- Wikipedia - At least once
- Apache Kafka - Kafka delivery semantics
- Microsoft - Azure Service Bus semantics
- AWS - SQS standard queue semantics
TOP QUESTIONS
When should I choose At-Least-Once Delivery?
Choose it when avoiding data loss is critical and duplicates can be handled via idempotency or deduplication.
Category: Usage
How do I make At-Least-Once safer?
Implement idempotent updates, include unique message IDs, and enforce exactly-once where supported.
Category: Best practices
What causes duplicates in At-Least-Once Delivery?
Retries after timeouts, rebalancing, or consumer crashes can result in the same message being delivered multiple times.
Category: Concepts
How do dead-letter queues help with At-Least-Once Delivery?
They capture poison messages after retry limits, preventing infinite redelivery loops and enabling investigation.
Category: Operations
Is At-Least-Once Delivery enough for financial systems?
Often not by itself; combine with idempotent operations or exactly-once semantics to avoid double charges.
Category: Risk
Does At-Least-Once guarantee ordering?
No. Ordering is separate and typically per-partition or per-key depending on the system.
Category: Misunderstanding
How to measure duplicate rates under At-Least-Once Delivery?
Track de-duplication hits using message IDs and monitor redelivery metrics and consumer lag.
Category: Observability
What is a hot topic around At-Least-Once Delivery?
Leveraging cloud-native idempotent sinks and transactional writes to mitigate duplicates at scale.
Category: Topic
What’s the main tradeoff of At-Least-Once Delivery?
It improves durability but introduces duplicate processing risk and the need for deduplication logic.
Category: Tradeoffs