Notes
At a basic level, understand how services talk to each other and what happens when those connections fail or get slow.
For 90% of the use cases, default to HTTP over TCP.
WebSockets and Server-Sent Events (SSE) come up when you need real-time updates. SSE is unidirectional - the client makes an initial HTTP request to open the connection, and the server pushes data down that connection. WebSockets handle bidirectional communication where both sides send messages freely.
gRPC uses binary serialization and HTTP/2, making it faster than JSON over HTTP. Browsers don’t natively support gRPC. A common pattern is JSON over HTTP for external APIs and gRPC internally for inter-service communication.
Layer 7 load balancers operate at the application level and can route based on the HTTP request content. Layer 4 load balancers work at the TCP level, and are faster (but dumber) because they don’t look at the content. Layer 4 balancing is useful for WebSockets because a persistent TCP connection is needed.
A request from New York to London has a minimum latency of ~80ms from the speed of light through fiber optic cables. For low latency globally, you’ll need regional deployments with data replicated or partitioned by geography.
References
- Core Concepts for System Design Interviews. www.hellointerview.com . Accessed Jun 6, 2026.