messaging
At-Least-Once Delivery
Retry until acknowledged — messages are never lost but consumer may see duplicates
Delivered0
Avg Attempts—
Duplicate Deliveries0
Loss Rate50%
Network Loss
// delivery attempts per message
Send a message to see retry behavior
// event log
No events yet.
// how it works
- Producer sends → waits for consumer ACK
- No ACK within timeout → resend same message
- Repeat until ACK received (infinite retries)
- Consumer may process same msg multiple times
// consumer must be idempotent
- Track processed message IDs (dedup table)
- Use idempotency keys for side effects
- Database upserts instead of inserts
- Higher avg latency = 1/(1−lossRate) attempts