Pokémon GO architecture to support millions of requests
<p>About 2 years ago Google interviewed one of the Senior Engineering Managers from Pokémon GO (the link to the video is at the end), where they discussed how they scale their infrastructure to handle millions of players’ requests. And above picture illustrates the high-level architecture of their system which sometimes handles close to a million requests per second.</p>
<p>You can imagine this is not the full architecture, but it shows 2 main services that handle the huge traffic, <a href="https://cloud.google.com/spanner" rel="noopener ugc nofollow" target="_blank">Spanner</a> and Kubernetes cluster. Spanner scales about <strong>5000 nodes</strong> and the same for the <strong>Kubernetes cluster</strong>, which scales to <strong>thousands nodes</strong> as well during the peak time.</p>
<p>Before Spanner they used Google Datastore, but they needed more control over the size, scale of the database and consistent indexing that Cloud Spanner provides, which allows to use more complex database schemas with primary and secondary keys. Finally, Datastore is non-relational with Atomic & Durable transactions, but they needed a relational database with full consistency.</p>
<p><a href="https://medium.com/@dmosyan/pok%C3%A9mon-go-architecture-to-support-millions-of-requests-39f5f603c501">Click Here</a></p>