Partial service beats none
When a system is overloaded or a dependency fails, the worst outcome is a total outage. Graceful degradation is the practice of dropping nonessential work so the core experience survives. A shopping site that hides personalized recommendations but still lets people check out has degraded gracefully.
Common patterns
- Fallbacks return a cached or default value when a dependency is down, such as last known prices.
- Feature toggles let operators turn off heavy features like recommendations during a spike.
- Load shedding rejects low priority requests early so high priority ones still complete.
- Circuit breakers stop calling a failing dependency for a while so it can recover.
Designing the ladder
Decide ahead of time which features are essential and which are optional. Order the optional ones into a degradation ladder so the system can shed them one rung at a time as pressure grows, rather than collapsing all at once.
Key idea
Graceful degradation keeps the essential core alive by shedding optional features in a planned order under stress.