Design für Graceful Degradation

Last reviewed 2024-12-30 UTC

Dieses Prinzip im Zuverlässigkeitsbereich des Google Cloud Well-Architected Framework bietet Empfehlungen, mit denen Sie Ihre Google Cloud Arbeitslasten so gestalten können, dass sie im Fehlerfall ordnungsgemäß beendet werden.

Dieses Prinzip ist für den Antwort-Fokusbereich der Zuverlässigkeit relevant.

Übersicht über die Grundsätze

Graceful Degradation ist ein Designansatz, bei dem ein System, das einer hohen Last ausgesetzt ist, weiterhin funktioniert, möglicherweise mit reduzierter Leistung oder Genauigkeit. Durch die sanfte Herabstufung wird die Verfügbarkeit des Systems aufrechterhalten und ein vollständiger Ausfall verhindert, auch wenn die Leistung des Systems nicht optimal ist. Wenn die Last wieder ein überschaubares Niveau erreicht, wird die volle Funktionalität des Systems wiederhergestellt.

Bei hoher Last priorisiert die Google Suche beispielsweise Ergebnisse von Webseiten mit einem höheren Ranking, was möglicherweise zu Lasten der Genauigkeit geht. Wenn die Last abnimmt, werden die Suchergebnisse in der Google Suche neu berechnet.

Empfehlungen

Beachten Sie die Empfehlungen in den folgenden Unterabschnitten, um Ihre Systeme für eine reibungslose Herabsetzung der Leistung zu konzipieren.

Drosselung implementieren

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

Verwenden Sie Tools wie Apigee, um die Rate von API-Anfragen bei hohem Traffic zu steuern. Sie können Richtlinienregeln so konfigurieren, dass sie widerspiegeln, wie Sie Anfragen reduzieren möchten.

Überflüssige Anfragen frühzeitig löschen

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 kann es jedoch vorkommen, dass einige Nutzer Fehler sehen. Sie können die Auswirkungen von Ausfällen jedoch minimieren. Im Gegensatz zu einem Ansatz wie Circuit Breaking, bei dem bei einer Überlastung sämtlicher Traffic verworfen wird.

Partielle Fehler und Wiederholungsversuche behandeln

Entwickeln Sie Ihre Anwendungen so, dass sie partielle Fehler und Wiederholungsversuche nahtlos verarbeiten. Dieses Design trägt dazu bei, dass bei hoher Last so viel Traffic wie möglich verarbeitet wird.

Überlastungsszenarien testen

Um zu prüfen, ob die Drosselungs- und Anforderungsablehnungsmechanismen effektiv funktionieren, sollten Sie regelmäßig Überlastungsbedingungen in Ihrem System simulieren. Tests helfen Ihnen, Ihr System auf tatsächliche Trafficspitzen vorzubereiten.

Trafficspitzen beobachten

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