Short-poll = interval fetch (~half interval latency, waste when idle). Long-poll = server holds until event. Push = one connection, server writes (WebSocket/SSE).
Разбор
Short-polling — setInterval + fetch. Latency ≈ half interval; 10s poll ≈ 5s staleness. Full overhead every tick even when nothing changed — 100k idle users = firehose.
Long-polling — client request, server blocks until event or ~30s timeout, responds, client immediately re-requests. One parked request per client; news → instant reply. Cost: held connection/worker; microscopic gap between response and re-request — miss without cursor/ID buffer.
Push (WebSocket/SSE) — no re-request; long-lived connection, server frames anytime. Lowest latency/overhead per message — you own reconnect, backoff, heartbeats, sticky LB.
Итог
Event rate and ops budget pick the pattern; long-poll is HTTP-native near-real-time with cursor discipline.