From Static to Adaptive Traffic Control in Airbnb's Key-Value Store to Handle Traffic Spikes
Briefly

From Static to Adaptive Traffic Control in Airbnb's Key-Value Store to Handle Traffic Spikes
"Airbnb has upgraded the traffic management architecture of its multi-tenant key-value store, Mussel, replacing static per-client rate limits with a fully adaptive, resource-aware system. The redesign aims to maintain service quality during traffic spikes, protect critical workflows, and ensure fair usage across thousands of tenants. Mussel originally relied on a Redis-backed counter enforcing fixed queries-per-second (QPS) limits per client. While effective for basic isolation, it did not account for the true cost of requests or adapt quickly to shifting workloads."
"The first component of the redesign is a resource-aware rate controller measuring requests in request units (RU), which account for rows processed, bytes read or written, and latency. Token buckets at each dispatcher refill periodically, deducting RU costs per request. When tokens are exhausted, the dispatcher returns HTTP 429 responses. Local enforcement removes cross-node coordination, enabling fast, independent decisions within milliseconds."
Mussel previously enforced static per-client QPS caps using a Redis-backed counter, which failed to account for request cost variability and rapid workload shifts. High-variance traffic patterns, terabyte-scale uploads, promotion-driven bursts, and bot spikes exposed the limitations of fixed caps. The redesign introduces a resource-aware rate controller that measures requests in request units (RU) based on rows processed, bytes read or written, and latency. Token buckets at each dispatcher deduct RU costs and return HTTP 429 when exhausted, enabling local, millisecond-scale enforcement without cross-node coordination. Load shedding and latency-based detection were added to stabilize the system during sudden spikes and protect critical workflows while ensuring fair usage.
Read at InfoQ
Unable to calculate read time
[
|
]