Back to the catalog

Why messages get lost, duplicated, or reordered, and how to fix it

11 questions

At-most-once, at-least-once, and "exactly-once" delivery. Why messages go missing or arrive twice, and how idempotency, dedup, sequence numbers, and per-key ordering handle it. The duplicate and dedup behavior was checked in Node, and the HTTP idempotency facts against RFC 9110.

Questions

  1. Not answered. In an at-least-once system, why can the receiver get the same message twice even though the network never corrupts data?
  2. Not answered. Why do engineers call exactly-once delivery practically impossible, and what do real systems offer instead?
  3. Not answered. Which statements about idempotency in message delivery are correct?
  4. Not answered. Messages on a single WebSocket connection arrive in the order they were sent. What most often breaks that order?
  5. Not answered. A queue enforces strict total ordering, so each message waits until all earlier ones are handled. What's the built-in cost?
  6. Not answered. Which classic thought experiment shows that two parties can never be certain they agree over a lossy channel? It's the theoretical reason exactly-once delivery is impossible.
  7. Not answered. A high-frequency telemetry feed can live with an occasional dropped reading, but duplicates would corrupt its counters. Which delivery guarantee fits best?
  8. Not answered. You dedup by remembering the ids you've already processed. What's the catch in practice?
  9. Not answered. Which techniques help a consumer keep or restore order in a real-time stream?
  10. Not answered. When a system advertises "exactly-once semantics" (for example, Kafka EOS), what does that actually mean?
  11. Not answered. Per RFC 9110, how many HTTP methods are idempotent?