Návrh tolerantní chybám detekuje, izoluje, maskuje či rekonfiguruje kolem chyb, takže provoz zůstává v rámci uvedených limitů správnosti, kapacity, časování a bezpečnosti, někdy na záměrně degradované úrovni služby.
Požadavek musí definovat, které chyby, kombinace a trvání by systém měl tolerovat. Návrhy mohou používat replikaci, hlasování, korekci chyb, nezávislé napájecí či komunikační cesty, diverzní implementace, slučování stavu a elegantní degradaci, podporované monitorováním a opravou.
Klíčové body
Definujte správnou službuSpecifikujte esenciální funkce, povolenou degradaci, předpoklady chyb, dobu detekce, chování obnovy a bod, v němž je bezpečné vypnutí preferováno před pokračujícím provozem.
Vytvořte nezávislostOddělte repliky a podpůrné napájení, sítě, identity, správu a lokace tam, kde to model hrozeb vyžaduje; zvažte diverzitu proti společným defektům.
Chraňte stavŘiďte replikaci, řazení, quorum, konzistenci, detekci korupce a reintegraci, takže redundantní komponenty nešíří špatná data ani nevytvářejí konfliktní akce.
Důležité omezeníSamotná redundance není odolnost vůči chybám. Selhání společnou příčinou, sdílené závislosti, návrhové defekty, korelované útoky, vyčerpaná kapacita a nesprávná detekce selhání mohou porazit každou repliku, zatímco přidaná komplexita může zavést nové chyby.