Real-time systems
Push-based delivery, fan-out, back-pressure. The set of concepts behind chat, live feeds, gaming, collaborative editors.
For: Engineers prepping for chat / feed / collab-doc prompts
After this path
Design a push-based real-time system end-to-end: protocol, fan-out strategy, presence, back-pressure, and reconnection semantics.
- 1Pattern
Real-time delivery architecture
Separate the connection tier from the delivery tier so live updates scale without losing reconnect and catch-up guarantees.
Why this, here: Pattern-level overview of push + fan-out.
- 2Deep dive
Real-time transport choices
Polling, long-polling, SSE, WebSockets, connection budgets, and reconnect semantics.
Why this, here: WebSockets, SSE, long-poll — when each wins.
- 3Deep dive
Protocol choice
REST, gRPC, GraphQL, WebSocket, SSE, and async protocols by caller and workload.
Why this, here: TCP vs QUIC vs HTTP/2 for push.
Checkpoint
Pick for a live-scores feed watched by 100k concurrent viewers: WebSockets, SSE, or long-poll? Defend the choice against the other two by name. If one is unfamiliar, the protocol muscle isn’t there yet.
- 4Pattern
Fan-out: on write vs on read
Where does the work live — at write time (push to every follower's inbox) or at read time (gather from each followed user)? Both break at the extremes; hybrids win.
Why this, here: Where the messages actually go. Hybrid is the answer.
- 5Deep dive
Backpressure and queueing
Bounded queues, slow consumers, overload behavior, and Little's Law in live systems.
Why this, here: Slow consumers must be able to complain. Drop or block, but don't OOM.
Checkpoint
When a slow consumer falls behind, pick one: drop, block the producer, or buffer with a bounded queue. Name the user-visible consequence of each. Systems without this answer OOM at 3am.
- 6Skill
Async messaging & queues
Decoupling, delivery semantics, ordering, DLQs, Kafka vs SQS vs RMQ.
Why this, here: Bus, topics, consumer groups. The plumbing.