Load shedding
Rejecting some requests on purpose when a system is overloaded, so the rest still get served instead of everything grinding to a halt.
Past its capacity, a service that accepts every request gets slower for everyone until requests time out and are retried, which adds more load. Shedding answers excess requests at once with an error such as 503 or 429, preferably the least important ones first: background sync before checkout. It differs from rate limiting, which caps each client; shedding protects the service as a whole.
Related terms
- Rate limiting: Capping how many requests a user, key or IP can make in a time window, and answering HTTP 429 above it.
- Bulkhead pattern: Giving each dependency or workload its own limited pool of connections or workers, so one slow part cannot use up everything.
- Graceful degradation: Keeping the core of a product working when a dependency fails, by switching off or simplifying the parts that rely on it.
