System Design Drill Day 15: Real-Time Chat and Live Order Tracking
How to design real-time chat and live tracking: polling vs SSE vs WebSockets, a Redis pub/sub backplane, sequence numbers and resync.

How to design real-time chat and live tracking: polling vs SSE vs WebSockets, a Redis pub/sub backplane, sequence numbers and resync.

How to design a URL shortener: base62 codes, ID generation strategies, 301 vs 302 redirects, Redis caching and async click analytics.

How to design a notification service with per-channel workers, priority queues, preferences, dedup and signed webhook retries.

How sagas replace distributed transactions with local steps and compensations, using a multi-step checkout as the example.

Why writing to the database and pushing to a queue can't be atomic, and how a transactional outbox fixes lost and phantom events.

How circuit breakers, timeouts and bulkheads keep a checkout alive when the payment gateway or SMS provider starts failing.
