#1The mismatch between request-response and real-time UX
Polling for a moving driver location is wasteful and laggy. Real-time UX wants events pushed the moment they happen. That demands a different transport — and a different ops mindset.
#2The tools — WebSockets, SSE, long polling
- WebSockets — bi-directional, low overhead, broadest browser support, highest operational complexity.
- Server-Sent Events — simpler, one-directional, often sufficient for status streams.
- Long polling — fallback for restrictive networks; pays a latency tax.
#3Where systems collapse under operational load
Real-time connections expose every weakness in the platform: thundering-herd reconnects, sticky load balancing, cross-region affinity, and graceful degradation. Most outages we have audited started here.
#4Patterns that survive a launch surge
- Connection-level autoscaling, not request-level.
- Idempotent reconnection that does not amplify load.
- Backpressure-aware publishers — drop, never block.
- Observability tuned for connection lifecycle, not just request latency.

