The top 6 protocols you should know for system design
The top 6 protocols you should know for system design interviews!
Article By: Radhakrishnan A Perumal
HTTP/HTTPS – This is the default for most services. It’s the standard for REST APIs and public endpoints. Because it’s stateless, scaling is straightforward. Since everything supports HTTP, interoperability is easy.
📊 GraphQL – Useful when requirements shift quickly or mobile clients need tightly optimized payloads. Clients specify exactly what they need, reducing backend coupling. Strong choice for feeds or read-heavy surfaces with diverse data needs.⚡ gRPC – Ideal for internal microservice calls where latency matters. It’s a compact binary protocol that can be an order of magnitude faster than JSON over HTTP. Not suitable for external APIs and less universally supported, so reserve it for cases where networking overhead is the bottleneck.
📡 SSE (Server-Sent Events) – A simple way to push real-time updates over HTTP. Works well for live auctions, tickers, and notification streams. If you need one-way real-time updates from server to client, start here.
🔄 WebSockets – Persistent, bidirectional communication. Great for chat, multiplayer collaboration, and interactive live experiences. Prefer SSE for simple one-way updates, but choose WebSockets when low-latency two-way messaging is core to the product.
🎥 WebRTC – Purpose-built for real-time audio and video. It uses peer-to-peer paths to minimize latency and server load. Powerful but complex, and best suited for high-bandwidth, latency-sensitive use cases like video calling.
What is a protocol? It’s the agreed-upon set of rules that defines how applications exchange data over a network.
Comments
Post a Comment