Grab

How We Prevented App Performance Degradation from Sudden Ride Demand Spikes

Jan 8, 2020Corey Scott
How We Prevented App Performance Degradation from Sudden Ride Demand Spikes
SummaryAI, from the source post

Introduced the 'Spampede Filter' to mitigate the impact of localized demand spikes on the overall system. This filter uses Geohash for location bucketing and Unix timestamps for time bucketing to track unallocated requests. Redis is used to store the counts of unallocated requests per bucket with a Time-To-Live (TTL) for self-cleaning. Configuration for the filter (maximum unallocated bookings) is also stored in Redis. The filter is applied early in the booking processing pipeline to short-circuit requests when adverse conditions are met, reducing system load and preventing wider user impact.

More from the API Rate Limiting trail