Dela via


Implementera elastiska program

Tips/Råd

Det här innehållet är ett utdrag från eBook, .NET Microservices Architecture for Containerized .NET Applications, tillgängligt på .NET Docs eller som en kostnadsfri nedladdningsbar PDF som kan läsas offline.

Miniatyrbild av omslag för eBooken om .NET mikroservicearkitektur för containerbaserade .NET-applikationer.

Dina mikrotjänster och molnbaserade program måste omfatta de partiella fel som säkert kommer att inträffa så småningom. Du måste utforma programmet så att det är motståndskraftigt mot dessa partiella fel.

Återhämtning är möjligheten att återställa från fel och fortsätta att fungera. Det handlar inte om att undvika fel, utan att acceptera det faktum att fel inträffar och svara på dem på ett sätt som undviker driftstopp eller dataförlust. Målet med återhämtning är att återställa programmet till ett fullständigt fungerande tillstånd efter ett fel.

Det är svårt nog att utforma och distribuera ett mikrotjänstbaserat program. Men du måste också hålla programmet igång i en miljö där något slags fel är säkert. Därför bör ditt program vara motståndskraftigt. Den bör utformas för att hantera partiella fel, till exempel nätverksfel eller noder eller virtuella datorer som kraschar i molnet. Även mikrotjänster (containrar) som flyttas till en annan nod i ett kluster kan orsaka tillfälliga korta fel i programmet.

De många enskilda komponenterna i ditt program bör också innehålla funktioner för hälsoövervakning. Genom att följa riktlinjerna i det här kapitlet kan du skapa en applikation som kan fungera smidigt trots tillfälliga driftstopp eller vanliga störningar som uppstår i komplexa och molnbaserade distributioner.

Viktigt!

eShopOnContainer hade använt Polly-biblioteket för att implementera återhämtning med hjälp av typade klienter fram till utgåva 3.0.0. Från och med version 3.0.0 implementeras HTTP-anropens återhämtning med hjälp av ett Linkerd-nät, som hanterar återförsök på ett transparent och konfigurerbart sätt i ett Kubernetes-kluster, utan att behöva hantera dessa problem i koden.

Polly-biblioteket används fortfarande för att öka motståndskraften för databasanslutningar, särskilt när tjänsterna startas.

Varning

Alla kodexempel och bilder i det här avsnittet var giltiga innan du använde Linkerd och uppdateras inte för att återspegla den aktuella faktiska koden. Så de är meningsfulla i samband med det här avsnittet.