Basic System Design Diagram for a chat\messaging system
In case you are looking for a starting point to design a "chat or messaging system", here is an article that I hope will be a starting point for server/cloud side design discussions or say while interviewing for a job. Before I show you the diagram, I would like to note down the basic supported functionality and the notable exclusions. Do let me know in case I missed out on any services or needed functionality or got anything wrong. Basic Functionality\Use-Cases User Registration and subsequent authorization. Profile and subsequent updating of profile. Ability to send\receive messages and content. Updating of status, last-active, etc. Group chat. Notable Exclusions Methods, Request Calls, Payloads, Response, Exceptions. Firewalls, Gateways, Load Balancing, Scaling, HA, DR. Data models and implementation. Chat client implementation. I would love to hear your views. Please leave a comment in the comment box below so that I can learn f...