Evaluation of WhatsApp’s Design
Evaluate the WhatsApp design and the associated non-functional requirements.
Requirements compliance
Our non-functional requirements for the proposed WhatsApp design are low latency, consistency, availability, and security. Let’s discuss how we have achieved these requirements in our system:
Low latency: We can minimize the latency of the system at various levels:
We can do this through geographically distributed WebSocket servers and the cache associated with them.
We can use Redis cache clusters on top of MySQL database clusters.
We can use CDNs for frequently sharing documents and media content.
Consistency: The system also provides high consistency in messages with the help of a FIFO messaging queue with strict ordering. However, the ordering of messages would require the ...