~/talk

How Niantic switched Pokémon GO to use Envoy

Talkat EnvoyCon 2020 Virtual · on Thursday, 2020-10-15· at 09:00· Virtual, Virtual· [networking]
links:none on file
slides:none on file

Niantic migrates Pokémon GO from NGINX/Engines to Envoy, running load tests (measured ~20,000 RPS per vCPU) and validating at hundreds of thousands to millions QPS; an initial rollout crashes when Envoy pods receive ~20× expected load and idle-timeout mismatches cause 503s and NXDOMAIN spikes. Engineering builds a custom xDS operator to update clusters without redeploys, adds DNS caching to stop query storms, swaps to count‑based GCLB balancing, and implements a websocket custom filter — migration stabilizes after staged scaling and fixes.

AI-written summary · about

  1. 0:00Intro
  2. 0:23Niantic Mission
  3. 0:36Niantic Real World Platform
  4. 2:23Issues to solve
  5. 3:41Service-gateway overview
  6. 4:21Service mesh implementation Why not istio and others?
  7. 5:01Service-gateway Next steps
  8. 5:33Deployment overview
  9. 7:14Scaling is a 4 steps process For example, scaling up
  10. 7:56XDS to the rescue!
  11. 8:29Current deployment
  12. 8:43(very) High level plan
  13. 9:26Preparing production environment
  14. 10:35IP Deny List
  15. 10:56Production migration - day 1+
  16. 13:16Envoy live in Production
  17. 14:16503 UH: UH (no healthy upstream hosts)
  18. 15:11Back to load testing
  19. 15:44Routing and DNS
  20. 16:16Learnings
  21. 16:50Extending Envoy: Niantic Frontend
  22. 17:33Why Niantic chose Envoy
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.