WhatsApp System Design (Messaging Reliability at Scale)

Scenario

Billions of users expect private chat that feels instant: delivery and read receipts, ordering you can reason about, media that does not toast mobile networks, and end-to-end encryption so the server is not reading plaintext. The hard parts are fan-out, presence, offline queues, and key changes—not drawing a single “message broker” box.

Design a messaging platform like WhatsApp that supports one-on-one and group messaging with end-to-end encryption.

Constraints

Functional

One-on-one and group chat, text/images/videos/documents, sent/delivered/read receipts, end-to-end encryption, offline delivery when user comes online

Non-functional

2B users, 1B DAU, under 100 ms delivery (signaling target), 99.99% uptime, end-to-end encryption for all messages

Scale

2B users, 1B DAU; ~50B messages/day, peak ~600K/s; ~10 TB/day, ~18 PB over 5 years

Stages ahead

1Requirement Analysis
2API Design
3High-Level Design
4HLD Extensions
5Trade-offs