Graceful Degradation
Keeping the core working when a dependency fails by dropping non-essential features, instead of failing entirely.
Graceful degradation is designing a system to keep its core function working when a part fails, by shedding non-essential features rather than collapsing. A partial, still-useful service beats a total outage.
Worked example: if the recommendation service is down, an e-commerce page still shows the product and lets you buy — it just hides the “recommended for you” carousel — instead of erroring the whole page. Gotcha: graceful degradation must be designed in deliberately (fallbacks, feature flags, sensible defaults, cached last-known-good values) — by default a failed dependency propagates an error up and takes the whole request with it; deciding what is essential versus droppable is a product decision, not just an engineering one.