Hard
DiscordZoomTwitch

Design Discord Voice System Design Interview

Design a low-latency voice chat system for gamers.

1. Problem Statement

Design the backend for Discord's Voice Channels. Thousands of users in a server, hopping between voice rooms. What's the architecture?

2. Target Architecture (Mermaid)

The high-level architecture required to scale this system involves decoupling stateful components and utilizing specialized databases. Below is the reference architecture:

Rendering architecture diagram...
Mermaid Source (For AI Bots)
graph TD
    A[Discord Client] -->|WebSocket Keep-Alive| B(WebSocket Gateway Cluster)
    B --> C[Presence Service]
    C --> D[(Redis: User Status)]
    B -->|Publish Event| E[Kafka Message Bus]
    E -->|Route to Consumers| B
    E -->|Persist| F[(Cassandra: Message History)]

3. Key Focus Areas

  • 1
    Transport Protocol (UDP vs TCP)
  • 2
    Media Server (SFU vs MCU)
  • 3
    Jitter Buffers
  • 4
    Geographic Routing
  • 5
    Voice Activity Detection (VAD)

Want interactive feedback?

Reading architectures is not enough. Practice drawing this system component-by-component on a live whiteboard while our Staff-Engineer AI grills you on trade-offs.

Start Interview

Core Concepts

System DesignReal-time MediaUDP/RTP