Design the architecture for Zoom - the world's leading video conferencing platform handling 300 million daily meeting participants with meetings of up to 1,000 video participants. Your design must cover:
- Real-time video & audio - ultra-low latency video conferencing with < 150 ms end-to-end latency. Support multiple video layouts (speaker view, gallery view with up to 49 tiles). Audio mixing for hundreds of participants.•Selective Forwarding Unit (SFU) - rather than peer-to-peer (which doesn't scale beyond ~5 participants), use an SFU architecture where each participant sends their stream to the server, which selectively forwards relevant streams to each receiver.•Simulcast & SVC - each participant sends multiple quality layers (high, medium, low). The SFU selects the appropriate layer per receiver based on their bandwidth and viewport size.•Screen sharing - capture and stream a desktop/window/tab at up to 30 fps with high text clarity.•Recording - server-side recording that composites all video/audio streams into a single MP4 file. Cloud recording stored in object storage.•Chat & reactions - in-meeting text chat, emoji reactions, hand raising, polls, and Q&A.•Breakout rooms - split a meeting into sub-meetings and merge back. Participants and media streams are rerouted dynamically.•Waiting room & security - meeting passwords, waiting room admission, end-to-end encryption option (E2EE), and host controls (mute all, remove participant).•Global infrastructure - meetings should be routed to the nearest data center. Cross-continent meetings need media relay servers to minimize latency.
The core challenge is real-time media routing at scale with ultra-low latency across the globe.
Design Zoom's video conferencing platform - real-time video/audio, screen sharing, recording, and breakout rooms for 300 M+ daily participants. Build this architecture under realistic production constraints, then validate tradeoffs in the design lab simulation.
Request path: The solution keeps ingress, service logic, and stateful dependencies separated so each layer can scale independently.
Reference flow: Mobile Clients -> DNS -> CDN Edge -> Load Balancer -> API Gateway -> Core Service -> Auth Service -> Primary NoSQL DB