Architected a high-traffic WebSocket-driven match-day platform for Chelsea FC supporters. Solved thundering-herd WebSocket failures under live-match load using Redis Pub/Sub, horizontal ECS scaling, and a write-through cache layer across Postgres replicas.
When live match traffic hit 100k concurrent users at kick-off, the initial architecture crumbled within minutes. A single Node.js WebSocket server with no load balancing caused the event loop to stall the moment 60k clients simultaneously requested match-state updates after a goal.
Introduced Redis Pub/Sub as a message broker between WebSocket servers, enabling true fan-out at O(1) cost per update. Added horizontal ECS auto-scaling with sticky sessions, a write-through Redis cache to shield Postgres from thundering-herd reads, and a client-side event queue to throttle burst updates gracefully.
Platform now sustains 100k+ concurrent users with 99.97% uptime across all Premier League match days. P95 WebSocket latency sits under 120ms even at peak load. Infrastructure cost actually decreased 18% post-refactor due to more efficient resource utilisation.