Graceful Degradation
DevOps 🔴 SeniorDefinition
Capacité d'un système à continuer de fonctionner avec des fonctionnalités réduites quand un composant est en panne, plutôt que de tomber entièrement.
Analogie
Un restaurant dont le four tombe en panne : il sert des plats froids plutôt que de fermer complètement.
Exemple de code
async function getRecommendations(userId) {
try {
return await recommendationService.get(userId);
} catch (e) {
logger.warn('Reco service down, fallback');
return getPopularItems(); // fallback
}
}
Cas d'usage
Maintenir le service principal même quand des services secondaires (recommandations, analytics) sont en panne.