Design für Graceful Degradation

Last reviewed 2024-12-30 UTC

Dieser Grundsatz in der Säule „Zuverlässigkeit“ des Google Cloud Well-Architected Framework enthält Empfehlungen, mit denen Sie Ihre Google Cloud Arbeitslasten so entwerfen können, dass sie bei Fehlern ordnungsgemäß heruntergefahren werden.

Dieser Grundsatz ist für den Antwort Fokusbereich der Zuverlässigkeit relevant.

Grundsatzübersicht

Bei der ordnungsgemäßen Herunterstufung handelt es sich um einen Designansatz, bei dem ein System, das einer hohen Last ausgesetzt ist, weiterhin funktioniert, möglicherweise mit reduzierter Leistung oder Genauigkeit. Die ordnungsgemäße Herunterstufung sorgt für die kontinuierliche Verfügbarkeit des Systems und verhindert einen vollständigen Ausfall, auch wenn die Arbeit des Systems nicht optimal ist. Wenn die Last wieder auf ein überschaubares Niveau zurückkehrt, nimmt das System die volle Funktionalität wieder auf.

In Zeiten hoher Last priorisiert die Google Suche beispielsweise Ergebnisse von höher eingestuften Webseiten, wobei möglicherweise die Genauigkeit etwas leidet. Wenn die Last abnimmt, berechnet die Google Suche die Suchergebnisse neu.

Empfehlungen

Wenn Sie Ihre Systeme für eine ordnungsgemäße Herunterstufung entwerfen möchten, beachten Sie die Empfehlungen in den folgenden Unterabschnitten.

Drosselung implementieren

Achten Sie darauf, dass Ihre Replikate Überlastungen unabhängig voneinander bewältigen und eingehende Anfragen in Szenarien mit hohem Traffic drosseln können. Dieser Ansatz hilft Ihnen, kaskadierende Fehler zu vermeiden, die durch Verschiebungen von überschüssigem Traffic zwischen Zonen verursacht werden.

Verwenden Sie Tools wie Apigee um die Rate der API-Anfragen in Zeiten mit hohem Traffic zu steuern. Sie können Richtlinienregeln konfigurieren, um festzulegen, wie Sie Anfragen reduzieren möchten.

Überschüssige Anfragen frühzeitig verwerfen

Konfigurieren Sie Ihre Systeme so, dass überschüssige Anfragen auf der Frontend-Ebene verworfen werden, um Backend-Komponenten zu schützen. Durch das Verwerfen einiger Anfragen werden globale Fehler verhindert und das System kann sich besser erholen.Bei diesem Ansatz können bei einigen Nutzern Fehler auftreten. Sie können die Auswirkungen von Ausfällen jedoch minimieren, im Gegensatz zu einem Ansatz wie Schutzschaltung, bei dem der gesamte Traffic bei einer Überlastung verworfen wird.

Teilfehler und Wiederholungsversuche verarbeiten

Entwickeln Sie Ihre Anwendungen so, dass sie Teilfehler und Wiederholungsversuche nahtlos verarbeiten können. Dieses Design trägt dazu bei, dass in Szenarien mit hoher Last so viel Traffic wie möglich verarbeitet wird.

Überlastungsszenarien testen

Um zu prüfen, ob die Drosselungs- und Verwerfungsmechanismen für Anfragen effektiv funktionieren, simulieren Sie regelmäßig Überlastungsbedingungen in Ihrem System. Durch Tests können Sie sicherstellen, dass Ihr System auf Traffic-Spitzen in der Praxis vorbereitet ist.

Traffic-Spitzen beobachten

Verwenden Sie Analyse- und Monitoringtools, um Traffic-Spitzen vorherzusagen und darauf zu reagieren, bevor sie zu Überlastungen eskalieren. Durch frühzeitige Erkennung und Reaktion kann die Dienstverfügbarkeit in Zeiten hoher Nachfrage aufrechterhalten werden.