~/talk

Adventures in Rate Limiting: Spotify’s Journey Writing a Scalable Envo...

Talkat EnvoyCon 2025 Europe · on Tuesday, 2025-04-01· [networking, go]
links:none on file
links:none on file
slides:none on file

Spotify builds a distributed Envoy rate limiter called Time Cop as a Go Envoy filter with Java aggregators, using consistent hashing to assign buckets and periodic batch reports so envoys send tens of aggregator requests per window instead of millions. Blocking actions flow via Pub/Sub to all aggregators; P50 latency rises ~3 ms and P99 ~11 ms in benchmarks. It works in production for perimeter IP/user limits, but the Go filter causes operational debt and is being ported to C++ for long‑term reliability.

AI-written summary · about

  1. 0:00Introduction to rate limiting
  2. 2:24Evaluating existing solutions
  3. 7:26Designing Time Cop
  4. 10:42Time Cop architecture
  5. 14:02Choosing an implementation
  6. 19:18Go development experience
  7. 23:35Production and final thoughts
  8. 25:52Q&A and concluding remarks
~/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.