Chat Service Design

Designing a chat system helps understand several components of an architecture. In this post we are mapping all the components using AWS services.  In real life we would definitely using different components from outside AWS and hence this is mostly a theoretical exercise

1.1 Feature and Functionalities 

There are several attempts to explain the chat system design on various publicly available forums. The feature functionalities are more or less known. So for MVP this will be the feature:

MVP Features

1.2 Back of the envelop calculations

1.2.1 Message storage 

1.2.2 Metadata Storage:

1.2.3 Query per second calculations:

1.2.3 Latency Requirements

2. High Level Design

2.1. Context Diagram

The chat service at highest level can be thought of server which facilitates conversation between sender and receiver


2.2.Container Diagram

High level design with some of the basic features are shown in the diagram below. There are several components here. 

The API server has bunch of important functions:

Amazon Cognito lets you easily add user sign-up and authentication to your mobile and web apps.



Attributions

Comment