Graceful degradation
Keeping the core of a product working when a dependency fails, by switching off or simplifying the parts that rely on it.
If the recommendation service is down, the shop shows bestsellers; if the search index lags, results come from the database with fewer filters; if email sending fails, messages wait in a queue. Each fallback is a product decision made in advance, not an error page. Combined with a circuit breaker, the switch happens automatically.
Related terms
- Circuit breaker: A guard around calls to a dependency that stops calling it after repeated failures and fails fast until it recovers.
- 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.
- Dead letter queue (DLQ): A separate queue where messages land after failing processing too many times, so they are kept instead of lost or retried forever.
- Chaos engineering (game days): Deliberately breaking parts of a system in a controlled way, such as killing a server or slowing a dependency, to check it degrades as designed.
