Integritätsprüfungen und kontrollierte Degradation
Konfigurieren Sie Integritätsprüfungen für Load Balancer und Traffic Manager, um Ausfälle schnell zu erkennen, und entwerfen Sie Circuit-Breaker- sowie Muster für kontrollierte Degradation für Ihre Anwendungsschicht.
Integritätsprüfungen und kontrollierte Degradation ist eine kostenlose Cloud & IT Cert Prep-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cloud & IT Cert Prep-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.
Warum Integritätstests unverzichtbar sind
Integritätstests sind der Mechanismus, mit dem Load Balancer und Traffic Manager erkennen, ob eine Backendinstanz Anforderungen verarbeiten kann. Ohne Integritätstests könnte ein Load Balancer weiterhin Datenverkehr an einen ausgefallenen oder nicht reagierenden Server senden, was zu für Benutzer sichtbaren Fehlern führt. Richtig konfigurierte Integritätstests ermöglichen innerhalb von Sekunden nach einem Ausfall eine automatische Umleitung des Datenverkehrs weg von fehlerhaften Instanzen.
Integritätstests von Azure Load Balancer
Azure Load Balancer unterstützt zwei Arten von Integritätstests:
- TCP-Test – prüft, ob das Backend eine TCP-Verbindung an einem angegebenen Port akzeptieren kann. Dieser Test ist einfach, überprüft jedoch nicht die Anwendungslogik.
- HTTP/HTTPS-Test – sendet eine GET-Anforderung an einen angegebenen Pfad und erwartet eine 200-OK-Antwort. Dieser Test ist genauer, da er den Anwendungsendpunkt direkt überprüft.
Ein Backend wird als fehlerhaft eingestuft, wenn der Test bei einer konfigurierbaren Anzahl aufeinanderfolgender Versuche fehlschlägt.
# 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 2Einen zuverlässigen Integritätsendpunkt entwerfen
Ein gut konzipierter Integritätsendpunkt (/health) gibt nicht nur 200 OK zurück, sondern überprüft auch, ob die kritischen Abhängigkeiten der Anwendung erreichbar sind. Eine umfassende Integritätsprüfung kann die Verbindung zur Datenbank, zum Cache und zu nachgelagerten APIs testen. Wenn eine Abhängigkeit nicht verfügbar ist, gibt der Endpunkt einen 5xx-Statuscode zurück und signalisiert dem Load Balancer, diese Instanz aus dem Rotationspool zu entfernen.
# 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 200Integritätstests von Traffic Manager
Azure Traffic Manager verwendet ebenfalls Integritätstests, allerdings auf regionaler Ebene. Der Dienst sendet regelmäßig HTTP- oder HTTPS-GET-Anforderungen an die konfigurierte Endpunkt-URL in jeder Region. Wenn ein Endpunkt innerhalb des Timeoutzeitraums bei einer festgelegten Anzahl aufeinanderfolgender Intervalle nicht antwortet, markiert Traffic Manager ihn als beeinträchtigt und leitet keine DNS-Abfragen mehr an ihn weiter. Stattdessen werden Benutzer an eine fehlerfreie Region weitergeleitet.
# 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 3Integritätstests von Application Gateway
Azure Application Gateway bietet ausgefeiltere Funktionen für Integritätstests als der Standard-Load-Balancer. Es unterstützt benutzerdefinierte Tests, bei denen der Hostheader, der erwartete Statuscodebereich (z. B. 200–399) und eine Zeichenfolge für den Abgleich mit dem Antworttext angegeben werden können. Application Gateway unterstützt außerdem Routing nach Pfad, sodass verschiedene Backendpools für unterschiedliche URL-Pfade jeweils eigene Konfigurationen für Integritätstests verwenden können.
# 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 3Was bedeutet kontrollierte Funktionseinschränkung?
Kontrollierte Funktionseinschränkung bezeichnet die Fähigkeit einer Anwendung, bei Ausfall einer oder mehrerer Abhängigkeiten weiterhin einen Teil ihrer Funktionen bereitzustellen. Statt vollständig abzustürzen, erkennt die Anwendung, dass ein nicht kritischer Dienst nicht verfügbar ist, und wechselt in einen eingeschränkten, aber weiterhin nützlichen Zustand. Wenn beispielsweise ein Empfehlungsdienst ausfällt, kann eine E-Commerce-Website allgemeine Vorschläge anzeigen, anstatt die gesamte Produktseite nicht mehr bereitzustellen.
Das Circuit-Breaker-Pattern
Das Circuit-Breaker-Pattern verhindert, dass eine Anwendung wiederholt einen fehlerhaften nachgelagerten Dienst aufruft. Sobald ein Dienst ausfällt, wird der Circuit Breaker geöffnet und gibt sofort eine Fehlermeldung oder eine Fallback-Antwort zurück, ohne den Netzwerkaufruf auszuführen. Nach einer Abkühlphase wechselt er in den Zustand halb geöffnet und lässt eine Testanfrage zu. Ist diese erfolgreich, wird der Circuit geschlossen und der normale Betrieb fortgesetzt.
# 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)Wiederholungsversuche mit exponentiellem Backoff
Bei vorübergehenden Fehlern (kurzen Netzwerkstörungen oder einer temporären Überlastung des Dienstes) eignet sich eine Strategie mit Wiederholungsversuchen und exponentiellem Backoff. Die Anwendung wiederholt den fehlgeschlagenen Aufruf nach einer Wartezeit und verdoppelt diese Wartezeit bei jedem weiteren Versuch bis zu einem festgelegten Maximum. Ein Jitter (eine zufällige Abweichung) bei der Wartezeit verhindert, dass alle Wiederholungsversuche gleichzeitig stattfinden und einen sich erholenden Dienst überlasten.
# 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 callerBulkhead-Pattern
Das Bulkhead-Pattern isoliert verschiedene Teile einer Anwendung in separaten Ressourcenpools. Dadurch kann ein Fehler in einem Bereich nicht alle Ressourcen aufbrauchen und das gesamte System zum Ausfall bringen. Der Name leitet sich von den Schotten eines Schiffs ab, die verhindern, dass ein überflutetes Abteil das gesamte Schiff zum Sinken bringt. In Azure kann dies bedeuten, für verschiedene Dienste separate Threadpools oder separate App Service-Pläne zu verwenden, um Fehler einzugrenzen.
Fallback-Antworten und zwischengespeicherte Daten
Eine gängige Technik für eine kontrollierte Verschlechterung besteht darin, zwischengespeicherte oder veraltete Daten bereitzustellen, wenn eine Live-Datenquelle nicht verfügbar ist. Eine Produktkatalogseite kann beispielsweise die gestrigen, in Azure Cache for Redis zwischengespeicherten Preise anzeigen, anstatt bei einer vorübergehend nicht erreichbaren Datenbank einen Fehler auszugeben. Die Benutzer erleben dadurch nur eine geringfügige Einschränkung (leicht veraltete Preise) statt eines vollständigen Ausfalls.
Überwachung und Alarmierung bei einer Verschlechterung
Eine kontrollierte Verschlechterung sollte sichtbar gemacht und gemessen werden. Verwenden Sie Application Insights, um die Häufigkeit geöffneter Circuit Breaker, von Fallback-Antworten und von Wiederholungsversuchen als benutzerdefinierte Metriken zu erfassen. Richten Sie Warnungen ein, wenn diese Metriken Schwellenwerte überschreiten. So wird das Bereitschaftsteam darüber informiert, dass die Anwendung in einem eingeschränkten Zustand läuft, auch wenn die für Benutzer sichtbare Funktionalität weiterhin akzeptabel erscheint.
Kurze Überprüfung
Testen Sie Ihr Verständnis der Konzepte aus Microsoft Azure Fundamentals (AZ-900), die in dieser Lektion behandelt wurden.
Zusammenfassung der Lektion
In dieser Lektion haben Sie gelernt: Health Probes ermöglichen es Load Balancern, ausgefallene Backends zu erkennen und den Datenverkehr automatisch umzuleiten; kontrollierte Verschlechterung hält Anwendungen teilweise funktionsfähig, wenn Abhängigkeiten ausfallen; und Patterns wie Circuit Breaker, Wiederholungsversuche mit Backoff und Bulkhead setzen Resilienz auf Anwendungsebene um. Als Nächstes beschäftigen wir uns mit Konzepten der Notfallwiederherstellung – mit der Definition von RTO, RPO und Wiederherstellungsstufen.
Häufig gestellte Fragen
Ist die Lektion „Integritätsprüfungen und kontrollierte Degradation“ kostenlos?
Ja — der vollständige Text von „Integritätsprüfungen und kontrollierte Degradation“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cloud & IT Cert Prep-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Integritätsprüfungen und kontrollierte Degradation“?
Konfigurieren Sie Integritätsprüfungen für Load Balancer und Traffic Manager, um Ausfälle schnell zu erkennen, und entwerfen Sie Circuit-Breaker- sowie Muster für kontrollierte Degradation für Ihre A… Du übst Cloud & IT Cert Prep mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cloud & IT Cert Prep zu starten?
Keine Vorkenntnisse erforderlich. Cloud & IT Cert Prep auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Integritätsprüfungen und kontrollierte Degradation“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cloud & IT Cert Prep-Lektion Code schreiben und ausführen?
Ja. Jede Cloud & IT Cert Prep-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Azure-SLAs und zusammengesetzte SLAs
- Verfügbarkeitsgruppen und Verfügbarkeitszonen
- Aktiv-Aktiv-Architektur über mehrere Regionen
- Integritätsprüfungen und kontrollierte Degradation