WhatsApp System Design

Non-Functional Requirements

1 min read

Besides features, the system must satisfy several engineering constraints.

Scalability

Support billions of users and millions of concurrent connections.

Availability

Messages should continue flowing even if individual servers fail.

Low Latency

A message should typically arrive within a few hundred milliseconds.

Durability

Messages should not be lost because of server failures.

Security

Only the intended recipients should be able to read message contents.

Reliability

Messages should eventually reach offline users once they reconnect.