Odolnost cloudově nativní

Návod

Tento obsah je výňatek z elektronické knihy Architektura cloud-native .NET aplikací pro Azure, která je k dispozici na .NET Docs nebo jako bezplatné PDF ke stažení, které si můžete přečíst offline.

miniatura obálky e-knihy Cloud-nativní aplikace .NET pro Azure.

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:

Distribuované prostředí nativní pro cloud

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ý selhal 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í.