Odolnost nativní pro cloud
Tip
Tento obsah je výňatek z eBooku, Architekting Cloud Native .NET Applications for Azure, který je k dispozici na webu Docs pro .NET nebo jako soubor PDF zdarma ke stažení, který si můžete přečíst offline.
Odolnost je schopnost systému reagovat na selhání a stále zůstat funkční. Nejedná se o zabránění selhání, ale přijetí selhání a vytvoření služeb nativních pro cloud, aby na ně reagovaly. Chcete se co nejrychleji vrátit do plně funkčního stavu.
Na rozdíl od tradičních monolitických aplikací, kde vše běží v jednom procesu, systémy nativní pro cloud používají distribuovanou architekturu, jak je znázorněno na obrázku 6-1:
Obrázek 6–1 Distribuované prostředí nativní pro cloud
Na předchozím obrázku se každá mikroslužba a cloudová backingová služba spouští v samostatném procesu napříč serverovou infrastrukturou a komunikuje prostřednictvím síťových volání.
V tomto prostředí musí být služba citlivá na mnoho různých problémů:
Neočekávaná latence sítě – doba, kdy žádost o službu může cestovat do příjemce a zpět.
Přechodné chyby – krátkodobé chyby připojení k síti
Blokování dlouhotrvající synchronní operací
Hostitelský proces, který se chybově ukončil a je restartován nebo přesunut.
Přetížená mikroslužba, která nemůže krátce reagovat.
Operace orchestrátoru v letu, jako je postupný upgrade nebo přesun služby z jednoho uzlu do jiného.
Selhání hardwaru.
Cloudové platformy můžou detekovat a zmírnit mnoho z těchto problémů s infrastrukturou. Může restartovat, škálovat na více instancí a dokonce distribuovat vaši službu do jiného uzlu. Pokud ale chcete tuto integrovanou ochranu plně využít, musíte navrhnout služby tak, aby na ni reagovaly a v tomto dynamickém prostředí se jim daří.
V následujících částech prozkoumáme obranné techniky, které vaše služba a spravované cloudové prostředky mohou využít k minimalizaci výpadků a přerušení.