System Design

Scalable Chat System: WebSockets and Redis Pub/Sub

System Design diagram · made in Skemio

Architecture diagram illustrating chat users on separate WebSocket servers exchanging real-time messages via Redis Pub/Sub and async DB persistence.
Architecture diagram illustrating chat users on separate WebSocket servers exchanging real-time messages via Redis Pub/Sub and async DB persistence.

What it shows

  • Stateful WebSocket servers maintain open duplex channels with clients.
  • Redis Pub/Sub channels dynamically route chat payloads between servers.
  • NoSQL column databases persist high-volume conversation logs asynchronously.

The takeaway

Decouple WebSocket connection state from message routing using distributed pub/sub.

More system design diagrams