Łagodna degradacja (graceful degradation)
Utrzymanie rdzenia produktu w działaniu, gdy padnie zależność, przez wyłączenie albo uproszczenie części, które na niej polegają.
Gdy leży serwis rekomendacji, sklep pokazuje bestsellery; gdy indeks wyszukiwania się spóźnia, wyniki idą z bazy z mniejszą liczbą filtrów; gdy wysyłka maili pada, wiadomości czekają w kolejce. Każde takie zastępstwo to decyzja produktowa podjęta z góry, a nie strona błędu. Razem z circuit breakerem przełączenie dzieje się samo.
Powiązane hasła
- Circuit breaker (bezpiecznik): Osłona wywołań zależności, która po serii błędów przestaje ją wołać i od razu zwraca błąd, dopóki zależność nie wróci.
- Zrzucanie obciążenia (load shedding): Celowe odrzucanie części zapytań, gdy system jest przeciążony, żeby reszta dalej była obsłużona, zamiast żeby stanęło wszystko.
- Dead letter queue (DLQ): Osobna kolejka, do której trafiają wiadomości po zbyt wielu nieudanych próbach przetworzenia, żeby nie przepadły ani nie wracały w nieskończoność.
- Chaos engineering (game days): Celowe psucie części systemu w kontrolowany sposób, np. wyłączenie serwera albo spowolnienie zależności, żeby sprawdzić, czy degraduje się zgodnie z projektem.
