Visibility Timeout and Message Lifecycle
~8 min read
How SQS prevents (most) duplicate processing while still guaranteeing at-least-once delivery.
Visibility Timeout and Message Lifecycle is a Pro topic
Sign in, then upgrade to Pro or Power to unlock this topic and the full AWS curriculum.
Key points
- •ReceiveMessage doesn't delete a message — it becomes temporarily invisible for the visibility timeout duration
- •DeleteMessage after successful processing permanently removes it
- •No delete before timeout expiry means the message becomes visible again for reprocessing
- •This mechanism is the source of SQS's at-least-once (occasionally more) delivery guarantee