---
answer: direct
beat: system-design
source: 1 article · updated: November 14, 2026
---

How do you stop retries from creating duplicate messages?

Have the client generate a unique id for each message before sending and have the server deduplicate on it. A retry after a timeout carries the same id and is recognised as the same message, so the user sees one message regardless of how many attempts were made.

Answered in

Real-Time Chat That Never Lies: Persist Before You Broadcast, and Cache the Cold Start

Why send flows must store a message before showing it, how an approximation of atomic broadcast works, and why session bootstrap needs an edge cache.

Crashtech Editorial November 14, 2026 System Design & Architecture

Read the full analysis

Other questions this article answers

More system design & architecture questions

Every answer on Crashtech is written by the editor of the article it comes from — never auto-summarised. Browse all answers or the System Design & Architecture beat.