Graceful degradation pomeni, da ko dependency ne deluje, sistem nadaljuje z jedrnim tokom z zagotovitvijo zmanjšane ali delne izkušnje namesto da bi vrnil napako. Cilj je mehek padec, ne trd padec: poslabšana stran je boljša od 500.
Graceful degradation pomeni, da ko dependency ne deluje, sistem nadaljuje z jedrnim tokom z zagotovitvijo zmanjšane ali delne izkušnje namesto da bi vrnil napako. Cilj je mehek padec, ne trd padec: poslabšana stran je boljša od 500.
BAD (fail hard):
search() → backend timeout → throw → user sees HTTP 500 (whole page dead)
GOOD (fail soft):
result = search()
catch timeout → return cached_results OR empty + notice
page renders:
[ "Showing recent results — live search is temporarily unavailable." ]
+ cached listings, working nav, working checkout
→ user keeps browsing; core flow intact
Namesto mrtve strani uporabnik dobi predpomnjena rezultata in majhen obvestilo, medtem ko navigacija in checkout delujejo naprej. Napaka je omejena na eno funkcijo.
Dependencies bodo neuspešni — API-ji tretjih oseb, search grozdovi, storitve priporočil. Brez graceful degradation bi vsaka napaka ledenih množic privede do popolne prekinitve storitve. Oblikovanje za mehek padec (predpomnjena/delna/privzeta podatki), flagiranje nekritičnih poti, timeout s fallbacks in izolacija napak s bulkheads ohrani proizvod uporaben med delnimi napakami — to je razlika med manjšo napako in večjo nezgodo.
Knjižnica IT vprašanj za razgovore s podrobnimi odgovori — od začetnika do izkušenega.
Doniraj