Design für Graceful Degradation

Last reviewed 2024-12-30 UTC

Dieses Prinzip in der Säule „Zuverlässigkeit“ des Google Cloud -Architektur-Frameworks enthält Empfehlungen, die Ihnen dabei helfen, Ihre Google Cloud -Arbeitslasten so zu gestalten, dass sie bei Fehlern möglichst reibungslos fortgesetzt werden können.

Dieses Prinzip ist für den Antwortbereich „Zuverlässigkeit“ relevant.

Grundsatzübersicht

Die Graceful Degradation ist ein Designansatz, bei dem ein System bei hoher Auslastung weiterhin funktioniert, möglicherweise mit reduzierter Leistung oder Genauigkeit. Die Graceful Degradation sorgt für die kontinuierliche Verfügbarkeit des Systems und verhindert einen vollständigen Ausfall, auch wenn die Leistung des Systems nicht optimal ist. Sobald die Auslastung wieder auf einem überschaubaren Niveau ist, wird die volle Funktionalität des Systems wiederhergestellt.

In Zeiten hoher Auslastung priorisiert die Google Suche beispielsweise Ergebnisse von Websites mit höherem Ranking, was möglicherweise zu einer gewissen Ungenauigkeit führt. Wenn die Auslastung sinkt, werden die Suchergebnisse in der Google Suche neu berechnet.

Empfehlungen

Beachten Sie die Empfehlungen in den folgenden Abschnitten, um Ihre Systeme so zu entwerfen, dass sie bei einer Überlastung reibungslos abschalten.

Drosselung implementieren

Achten Sie darauf, dass Ihre Replikats unabhängig überlastet werden können und eingehende Anfragen bei hohem Traffic drosseln können. So lassen sich kaskadierende Fehler vermeiden, die durch Verlagerungen von überschüssigem Traffic zwischen Zonen verursacht werden.

Verwenden Sie Tools wie Apigee, um die Rate der API-Anfragen bei hohem Traffic zu steuern. Sie können Richtlinienregeln so konfigurieren, dass Anfragen entsprechend herunterskaliert werden.

Überflüssige Anfragen frühzeitig ablehnen

Konfigurieren Sie Ihre Systeme so, dass überzählige Anfragen in der Frontend-Ebene abgelehnt werden, um Back-End-Komponenten zu schützen. Wenn einige Anfragen verworfen werden, werden globale Fehler verhindert und das System kann sich besser erholen.Bei diesem Ansatz können einige Nutzer Fehler feststellen. Sie können die Auswirkungen von Ausfällen jedoch minimieren, im Gegensatz zu einem Ansatz wie dem Schutzschalter, bei dem der gesamte Traffic bei einer Überlastung unterbrochen wird.

Teilweise Fehler und Wiederholungen verarbeiten

Entwerfen Sie Ihre Anwendungen so, dass sie partielle Fehler und Wiederholungsversuche nahtlos verarbeiten. So wird sichergestellt, dass bei hoher Auslastung so viel Traffic wie möglich ausgeliefert wird.

Überlastungsszenarien testen

Um zu prüfen, ob die Drosselung und das Aussetzen von Anfragen effektiv funktionieren, sollten Sie regelmäßig Überlastungsbedingungen in Ihrem System simulieren. Tests tragen dazu bei, dass Ihr System auf reale Traffic-Spitzen vorbereitet ist.

Trafficspitzen beobachten

Mit Analyse- und Monitoringtools können Sie Traffic-Spitzen vorhersagen und darauf reagieren, bevor sie zu Überlastungen führen. Eine frühzeitige Erkennung und Reaktion kann dazu beitragen, die Dienstverfügbarkeit in Zeiten hoher Nachfrage aufrechtzuerhalten.