Bird
Raised Fist0
HLDsystem_design~12 mins

Group messaging in HLD - Architecture Diagram

Choose your learning style9 modes available
System Overview - Group messaging

This system allows multiple users to send and receive messages within groups. It supports real-time message delivery, message storage, and offline message retrieval. The system must be scalable to handle many users and groups simultaneously.

Architecture Diagram
User
  |
  v
Load Balancer
  |
  v
API Gateway
  |
  v
Message Service <--> Message Queue
  |                 |
  v                 v
Cache             Database
  |
  v
Push Notification Service
Components
User
client
End user sending and receiving group messages
Load Balancer
load_balancer
Distributes incoming user requests evenly to API Gateway instances
API Gateway
api_gateway
Handles client requests, authentication, and routes to backend services
Message Service
service
Processes group messages, manages group membership, and interacts with storage
Message Queue
message_queue
Buffers messages for asynchronous processing and delivery
Cache
cache
Stores recent messages for fast retrieval and reduces database load
Database
database
Persists all group messages and user/group metadata reliably
Push Notification Service
service
Sends real-time notifications to users about new messages
Request Flow - 11 Hops
UserLoad Balancer
Load BalancerAPI Gateway
API GatewayMessage Service
Message ServiceCache
CacheMessage Service
Message ServiceDatabase
DatabaseMessage Service
Message ServiceCache
Message ServiceMessage Queue
Message QueuePush Notification Service
Push Notification ServiceUser
Failure Scenario
Component Fails:Database
Impact:New messages cannot be stored; message fetches may fail if cache misses occur
Mitigation:Reads served from cache if available; writes queued and retried later; database replication and failover configured
Architecture Quiz - 3 Questions
Test your understanding
Which component handles user authentication and routes requests to backend services?
AAPI Gateway
BLoad Balancer
CMessage Service
DCache
Design Principle
This architecture uses caching to speed up message retrieval and a message queue to decouple message processing from delivery, improving scalability and responsiveness. The API Gateway centralizes authentication and routing, while the load balancer ensures even distribution of user requests.