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.