← Back to log

Designing Real-Time Systems That Stay Boring in Production

Patterns for WebSockets, backpressure, and observability when messages per second stop being a demo metric.

real-timearchitecturewebsockets
1 min read

Real-time features are easy to demo and hard to operate. The gap is almost always observability and backpressure — not the transport layer.

Separate hot paths from cold paths

Presence, typing indicators, and live dashboards have different consistency requirements. Mixing them in one channel creates noisy failure modes. I split streams by SLA and apply rate limits at the edge.

Measure what users feel

Track p95 delivery latency, reconnect storms, and poison-message rates. Prometheus plus structured logs beat guessing from CPU graphs.

Plan for reconnects as the default

Mobile networks and sleeping tabs mean reconnections are normal. Idempotent handlers and versioned event payloads prevent duplicate side effects.

Related logs

More notes on similar topics.