WhatsApp-like messaging system with queues, storage, and notifications.
Start with a single chat server and message store for core messaging flow.
What was missing: No separation of concerns, no redundancy, no async buffering, no rate limiting, no observability.
Why that's risky: Single point of failure, no protection from spikes, no monitoring, all traffic synchronous.
What gets added: Nothing yet (MVP).
Trade-offs: Simple, but not production ready.
Introduce edge, gateway, and rate limiting for security and performance.
What was missing: No edge security, no rate limiting, no separation of gateway and chat logic.
Why that's risky: Vulnerable to DDoS, no traffic shaping, gateway logic not isolated.
What gets added: Edge, gateway, and rate limiter.
Trade-offs: Slightly more complex.
Add load balancer and multiple chat servers for scale and redundancy.
What was missing: No redundancy, no horizontal scaling, single chat server bottleneck.
Why that's risky: Single point of failure, cannot handle spikes.
What gets added: Load balancer, multiple chat servers.
Trade-offs: More complex deployment.
Add async queue and worker pool for message fan-out and delivery.
What was missing: No async buffering, no worker pool, all delivery synchronous.
Why that's risky: Spikes can overload chat servers, slow delivery blocks senders.
What gets added: Async queue, worker pool, idempotency.
Trade-offs: More moving parts, eventual consistency for delivery.
Add media store, notification service, and monitoring/logging.
What was missing: No media storage, no notification service, no observability, no circuit breaker.
Why that's risky: Media and notifications can overload chat servers, no alerting, notification failures can cascade.
What gets added: Media store, notification service, monitoring/logging, circuit breaker.
Trade-offs: More moving parts, more operational complexity.
Use per-conversation partitions and sequence numbers in the message store.
Use append-only logs and periodic compaction to reduce write amplification.
The gateway handles authentication, rate limiting, and connection routing.
Workers fan out messages asynchronously and allow retries without blocking chat servers.
Media has different access patterns and benefits from dedicated storage and CDN caching.
You're in the middle of an interview session. Leaving now will end your current attempt.
Explore concept overviews, real-system examples, key tradeoffs, and interview talking points for each roadmap section.
You've conquered this phase. These are the skills you now own: