Health probes en gecontroleerde degradatie
Configureer health probes van de load balancer en Traffic Manager om storingen snel te detecteren en ontwerp circuit-breaker- en graceful-degradationpatronen voor uw applicatielaag.
Health probes en gecontroleerde degradatie is een gratis Cloud & IT Cert Prep-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Cloud & IT Cert Prep. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Cloud & IT Cert Prep bevat in totaal 4 lessen.
Waarom gezondheidscontroles essentieel zijn
Gezondheidscontroles zijn het mechanisme waarmee load balancers en verkeersbeheerders detecteren of een backendinstantie verzoeken kan verwerken. Zonder gezondheidscontroles kan een load balancer verkeer blijven sturen naar een defecte of niet-reagerende server, wat leidt tot fouten voor gebruikers. Goed geconfigureerde gezondheidscontroles maken het mogelijk om verkeer binnen enkele seconden na een storing automatisch om te leiden van ongezonde instanties.
Gezondheidscontroles van Azure Load Balancer
Azure Load Balancer ondersteunt twee typen gezondheidscontroles:
- TCP-controle — controleert of de backend een TCP-verbinding op een opgegeven poort kan accepteren. Eenvoudig, maar controleert de toepassingslogica niet.
- HTTP/HTTPS-controle — verstuurt een GET-verzoek naar een opgegeven pad en verwacht een antwoord 200 OK. Nauwkeuriger, omdat hiermee het eindpunt van de toepassing rechtstreeks wordt getest.
Een backend wordt als ongezond gemarkeerd als de controle een configureerbaar aantal opeenvolgende pogingen mislukt.
# Create an HTTP health probe for an Azure Load Balancer:
az network lb probe create \
--resource-group myRG \
--lb-name myLoadBalancer \
--name httpHealthProbe \
--protocol Http \
--port 80 \
--path /health \
--interval 15 \
--threshold 2Een betrouwbaar gezondheidseindpunt ontwerpen
Een goed ontworpen gezondheidseindpunt (/health) doet meer dan 200 OK retourneren — het controleert of de kritieke afhankelijkheden van de toepassing bereikbaar zijn. Een uitgebreide gezondheidscontrole kan de verbinding met de database, de cache en downstream-API's testen. Als een afhankelijkheid niet beschikbaar is, retourneert het eindpunt een 5xx-statuscode, waarmee aan de load balancer wordt aangegeven dat deze instantie uit de rotatie moet worden verwijderd.
# Example health endpoint response (JSON):
# GET /health
# {
# 'status': 'healthy',
# 'checks': {
# 'database': 'ok',
# 'cache': 'ok',
# 'externalApi': 'ok'
# }
# }
# If database check fails, return HTTP 503 instead of 200Gezondheidscontroles van Traffic Manager
Azure Traffic Manager gebruikt ook gezondheidscontroles, maar op regioniveau. De service verstuurt periodiek HTTP- of HTTPS-GET-verzoeken naar de geconfigureerde URL van het eindpunt in elke regio. Als een eindpunt binnen het time-outvenster gedurende een ingesteld aantal opeenvolgende intervallen niet reageert, markeert Traffic Manager dat eindpunt als gedegradeerd en stopt het met het routeren van DNS-query's ernaartoe. Gebruikers worden dan omgeleid naar een gezonde regio.
# Configure Traffic Manager health probe settings:
az network traffic-manager profile update \
--resource-group myRG \
--name myTMProfile \
--monitor-protocol HTTPS \
--monitor-port 443 \
--monitor-path /health \
--monitor-interval 30 \
--monitor-timeout 10 \
--monitor-tolerated-failures 3Gezondheidscontroles van Application Gateway
Azure Application Gateway heeft geavanceerdere mogelijkheden voor gezondheidscontroles dan de standaard Load Balancer. De service ondersteunt aangepaste controles waarmee je de hostheader, het verwachte bereik van statuscodes (bijvoorbeeld 200-399) en een tekenreeks die in de hoofdtekst moet voorkomen, kunt opgeven. Application Gateway ondersteunt ook routering per pad, zodat verschillende backendpools voor verschillende URL-paden verschillende configuraties voor gezondheidscontroles kunnen hebben.
# Create a custom probe for Application Gateway:
az network application-gateway probe create \
--gateway-name myAppGateway \
--resource-group myRG \
--name customProbe \
--protocol Http \
--host-name-from-http-settings true \
--path /api/health \
--interval 20 \
--timeout 10 \
--threshold 3Wat is gecontroleerde vermindering van functionaliteit?
Gecontroleerde vermindering van functionaliteit is het vermogen van een toepassing om gedeeltelijke functionaliteit te blijven bieden wanneer een of meer afhankelijkheden uitvallen. In plaats van volledig vast te lopen, detecteert de toepassing dat een niet-kritieke service niet beschikbaar is en schakelt deze over naar een beperkte maar nog steeds bruikbare toestand. Als een aanbevelingsservice bijvoorbeeld uitvalt, kan een e-commercesite algemene suggesties weergeven in plaats van de volledige productpagina niet meer te tonen.
Het circuitonderbrekerpatroon
Het circuitonderbrekerpatroon voorkomt dat een toepassing herhaaldelijk een falende afhankelijke service aanroept. Wanneer een service fouten begint te veroorzaken, opent de circuitonderbreker en retourneert deze onmiddellijk een fout- of fallbackreactie zonder de netwerkaanroep uit te voeren. Na een afkoelperiode gaat de circuitonderbreker over naar de status halfopen en staat deze één testaanroep toe. Als die slaagt, sluit het circuit en wordt de normale werking hervat.
# Circuit breaker states:
# CLOSED: normal operation, calls pass through
# OPEN: service failing, calls immediately return error/fallback
# HALF-OPEN: cool-down expired, try one request:
# success -> CLOSED
# failure -> OPEN (reset timer)
# Libraries: Polly (.NET), Resilience4j (Java), polly-js (JS)Opnieuw proberen met exponentiële wachttijd
Voor tijdelijke fouten (korte netwerkstoringen, tijdelijke overbelasting van een service) is een strategie waarbij je het opnieuw probeert met exponentieel toenemende wachttijd geschikt. De toepassing probeert de mislukte aanroep na een vertraging opnieuw uit en verdubbelt de vertraging bij elke poging tot een maximum. Door jitter (een willekeurige variatie) aan de vertraging toe te voegen, voorkom je dat alle nieuwe pogingen synchroniseren en een herstellende service overbelasten.
# Exponential backoff with jitter (pseudocode):
# attempt 1: wait 1s + random(0-500ms)
# attempt 2: wait 2s + random(0-500ms)
# attempt 3: wait 4s + random(0-500ms)
# attempt 4: wait 8s + random(0-500ms)
# max retries: 4
# max wait: 30s (cap)
# After max retries: return error to callerBulkheadpatroon
Het bulkheadpatroon isoleert verschillende delen van een toepassing in resourcepools, zodat een fout in één gebied niet alle resources verbruikt en het hele systeem uitvalt. De naam verwijst naar de waterdichte scheidingswanden in schepen, die voorkomen dat één ondergelopen compartiment het hele schip laat zinken. In Azure kan dit betekenen dat je afzonderlijke threadpools of afzonderlijke App Service-plannen gebruikt voor verschillende services, zodat fouten beperkt blijven.
Fallbackreacties en gegevens uit de cache
Een veelgebruikte techniek voor gecontroleerde vermindering van functionaliteit is het aanbieden van gegevens uit de cache of verouderde gegevens wanneer een live gegevensbron niet beschikbaar is. Een productcataloguspagina kan bijvoorbeeld de prijzen van gisteren uit Azure Cache for Redis tonen in plaats van een fout weer te geven als de database tijdelijk niet bereikbaar is. Gebruikers ervaren dan een klein ongemak (iets verouderde prijzen) in plaats van een volledige storing.
Bewaking en waarschuwingen bij verminderde functionaliteit
Gecontroleerde vermindering van functionaliteit moet zichtbaar en meetbaar zijn. Gebruik Application Insights om het aantal keer dat de circuitonderbreker opent, fallbackreacties en nieuwe pogingen bij te houden als aangepaste metrieken. Stel waarschuwingen in wanneer deze metrieken drempelwaarden overschrijden, zodat het team van dienst weet dat de toepassing in een beperkte toestand werkt, zelfs als de ervaring voor de gebruiker aanvaardbaar lijkt.
Korte controle
Test je begrip van de concepten uit Microsoft Azure Fundamentals (AZ-900) in deze les.
Samenvatting van de les
In deze les heb je geleerd dat health probes load balancers in staat stellen om defecte backends te detecteren en verkeer automatisch om te leiden; dat gecontroleerde vermindering van functionaliteit toepassingen gedeeltelijk bruikbaar houdt wanneer afhankelijkheden uitvallen; en dat patronen zoals circuitonderbreker, opnieuw proberen met wachttijd en bulkhead veerkracht op toepassingsniveau implementeren. Hierna verkennen we concepten voor herstel na calamiteiten: RTO, RPO en herstelniveaus definiëren.
Leer Cloud & IT Cert Prep met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 150
- Lessen
- 600
Veelgestelde vragen
Is de les “Health probes en gecontroleerde degradatie” gratis?
Ja — de volledige tekst van “Health probes en gecontroleerde degradatie” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Cloud & IT Cert Prep wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Cloud & IT Cert Prep bevat in totaal 4 lessen.
Wat leer ik in “Health probes en gecontroleerde degradatie”?
Configureer health probes van de load balancer en Traffic Manager om storingen snel te detecteren en ontwerp circuit-breaker- en graceful-degradationpatronen voor uw applicatielaag. Je oefent met Cloud & IT Cert Prep door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Cloud & IT Cert Prep te beginnen?
Ervaring vooraf is niet nodig. Cloud & IT Cert Prep op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Health probes en gecontroleerde degradatie”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Cloud & IT Cert Prep?
Ja. Elke les over Cloud & IT Cert Prep bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Azure-SLA's en samengestelde SLA's
- Beschikbaarheidssets en beschikbaarheidszones
- Actief-actieve architectuur in meerdere regio's
- Health probes en gecontroleerde degradatie