Chapter 15. Designing a Chat Application

In chapter 6, we explored multiple networking protocols and communication mechanisms helpful in building near real time messaging platforms. The messaging applications are widely used across the globe to communicate with each other. The messaging application can be a standalone application such as WhatsApp, Telegram, etc or integrated as a feature inside social networking apps such as LinkedIn, Instagram, etc. In this chapter, we’ll dive deep into designing large scale messaging applications to offer fast communication in near real time. We’ll also discuss the underlying architecture of WhatsApp messenger, which serves a huge number of concurrent users. Let’s begin with the system requirements of a chat application.

System Requirements

A messaging application can support a wide variety of features but to keep it simple we will choose to build a limited set of functionalities and skip features ...

Get System Design on AWS now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.