Design für Graceful Degradation

Dieses Prinzip in der Säule „Zuverlässigkeit“ des Google Cloud Well-Architected Framework gibt Ihnen Empfehlungen, mit denen Sie Ihre Google Cloud Arbeitslasten auf einen fehlerfreien Fehler konzipieren können.

Dieses Prinzip ist für den Antwortbereich Schwerpunkt auf Zuverlässigkeit relevant.

Prinzip – Übersicht

Graceful Degradation ist ein Designansatz, bei dem ein System mit hoher Last weiterhin funktioniert, möglicherweise mit geringerer Leistung oder Genauigkeit. Graceful Degradation sorgt für eine kontinuierliche Verfügbarkeit des Systems und verhindert einen vollständigen Ausfall, auch wenn die Arbeit des Systems nicht optimal ist. Wenn die Auslastung auf ein überschaubares Niveau zurückkehrt, nimmt das System wieder die volle Funktionalität wieder auf.

In Zeiten hoher Auslastung priorisiert die Google-Suche beispielsweise Ergebnisse von höherrangigen Webseiten, was zu Abstrichen bei der Genauigkeit führen kann. Sinkt die Last, werden die Suchergebnisse von der Google Suche neu berechnet.

Empfehlungen

Beachten Sie beim Entwerfen Ihrer Systeme für Graceful Degradation die Empfehlungen in den folgenden Unterabschnitten.

Drosselung implementieren

Achten Sie darauf, dass Ihre Replikate Überlastungen unabhängig handhaben und eingehende Anfragen in Szenarien mit hohem Traffic drosseln können. Mit diesem Ansatz können Sie Fehlerkaskaden vermeiden, die durch Verschiebungen von übermäßigem Traffic zwischen Zonen verursacht werden.

Verwenden Sie Tools wie Apigee, um die Rate von API-Anfragen zu Zeiten mit hohem Traffic zu steuern. Sie können Richtlinienregeln so konfigurieren, dass Sie festlegen, wie Anfragen reduziert werden sollen.

Nicht erforderliche Anfragen frühzeitig löschen

Konfigurieren Sie Ihre Systeme so, dass überschüssige Anfragen auf der Front-End-Ebene gelöscht werden, um Back-End-Komponenten zu schützen. Durch das Löschen einiger Anfragen werden globale Fehler verhindert und das System kann effizienter wiederhergestellt werden.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 dem Verbindungsbruch, bei dem der gesamte Traffic während einer Überlastung unterbrochen wird.

Teilfehler und Wiederholungsversuche bearbeiten

Erstellen Sie Ihre Anwendungen so, dass sie Teilfehler und Wiederholungsversuche nahtlos verarbeiten können. Mit diesem Design wird sichergestellt, dass in Szenarien mit hoher Last so viel Traffic wie möglich bereitgestellt wird.

Überlastungsszenarien testen

Simulieren Sie regelmäßig Überlastbedingungen in Ihrem System, um zu prüfen, ob die Drosselungs- und Anfrage-Drop-Mechanismen effektiv funktionieren. Mithilfe von Tests können Sie dafür sorgen, dass Ihr System auf reale Verkehrsspitzen vorbereitet ist.

Trafficspitzen überwachen

Verwenden Sie Analyse- und Monitoringtools, um Trafficspitzen vorherzusagen und darauf zu reagieren, bevor sie zu Überlasten eskalieren. Eine frühzeitige Erkennung und Reaktion kann dazu beitragen, die Dienstverfügbarkeit während Zeiten großer Nachfrage aufrechtzuerhalten.