Would Your System Survive a Million Concurrent Players?
summary
Describes how Kahoot scaled its live-quiz backend to handle 1.4 million concurrent players by extracting the heavy answer-processing path from a Java monolith into microservices. It uses Couchbase for multi-region storage, Kafka with Kafka Streams for event propagation, and Google Cloud Storage as an event store (JSON files), employs event sourcing and a strangler-fig migration with dual-write staged rollouts (20→100%) plus observability, and adds aggregation to reduce write load; the new pipeline was validated in staged production tests.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 3:26Kahuta platform features
- 7:23System architecture and DB
- 9:29Scaling to million users
- 10:37Migrating to microservices
- 15:14New microservice design
- 20:45Data analysis and optimization
- 24:24Live game migration
- 28:16Strangler Fig pattern
- 32:20Testing and deployment
- 35:09Migration summary
- 37:35Q&A
related talks
57mLessons in Building a System that Processes More than 70 Billion Events Daily
19mScaling to 500k concurrent customers with orleans
32mDetecting Events on the Web with Java, Kafka and ZooKeeper
53mHow do we build high‑load microservices
40mReal-time Customer Engagement in Gaming Using Kafka and Flink
40mUncoupling Systems
18m"Kafka's Metamorphosis"
40mReal Time Performance at Massive Scale
