Doorman: Global Distributed Client Side Rate Limiting
summary
Doorman is a Google system that lets globally distributed clients coordinate so total requests never exceed a shared capacity; it is implemented as a tree of Go servers with client libraries in Python, C++ and Go, uses gRPC for RPC, and is open sourced. A three-node tree typically converges in ~30s when load moves, leases are lease-based (typical leases ~5 minutes with 5s refresh), a global example caps at 1,000 qps and the client library’s demand estimator errs by about ~5%.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:13The Problem
- 4:39Doorman
- 7:07Client Tasks
- 14:20Dormant Server Tree
- 16:53Dormant Server
- 24:12Resource Management
- 27:03Graphs
- 30:41Outro
related talks
16mLightning Talk: More Intelligent Global Rate Limiting
47mMonolith to Microserv. at 20M+ requests per second: Latency and Scale Challenges
37mgRPC Intro
18mArchitecting Multi-tenant Data-center Networks for GPU Customers
12mThe Next API Frontier: Mastering API Consumption Across Distributed Envts
29mgRPC load balancing and Service Mesh
27mAdventures in Rate Limiting: Spotify’s Journey Writing a Scalable Envo...
15mCitron: Distributed Range Lock Management with One-sided RDMA
