Questo principio del pilastro dell'affidabilità del Google Cloud Architecture Framework fornisce consigli per aiutarti a progettare i tuoi carichi di lavoro Google Cloud in modo che falliscano in modo elegante.
Questo principio è pertinente all'area di attenzione della risposta dell'affidabilità.
Panoramica dei principi
Il degradamento graduale è un approccio di progettazione in cui un sistema con un carico elevato continua a funzionare, eventualmente con prestazioni o precisione ridotte. Il degradamento graduale garantisce la disponibilità continua del sistema e impedisce un guasto completo, anche se il funzionamento del sistema non è ottimale. Quando il carico ritorna a un livello gestibile, il sistema riprende la piena funzionalità.
Ad esempio, durante i periodi di carico elevato, la Ricerca Google dà la priorità ai risultati provenienti da pagine web con ranking più elevato, sacrificando potenzialmente un po' di accuratezza. Quando il carico diminuisce, la Ricerca Google ricalcola i risultati di ricerca.
Consigli
Per progettare i sistemi per la riduzione controllata, tieni presenti i consigli riportati nelle sezioni seguenti.
Implementare la limitazione
Assicurati che le repliche possano gestire in modo indipendente i sovraccarichi e possano limitare le richieste in arrivo durante gli scenari di traffico elevato. Questo approccio ti aiuta a prevenire i guasti a cascata causati da trasferimenti di traffico in eccesso tra le zone.
Utilizza strumenti come Apigee per controllare la frequenza delle richieste API durante i periodi di traffico elevato. Puoi configurare le regole di criteri in base a come vuoi ridurre le richieste.
Eliminare in anticipo le richieste in eccesso
Configura i sistemi in modo che eliminino le richieste in eccesso a livello di livello frontend per proteggere i componenti di backend. L'eliminazione di alcune richieste impedisce i guasti globali e consente al sistema di riprendersi in modo più graduale.Con questo approccio, alcuni utenti potrebbero riscontrare errori. Tuttavia, puoi ridurre al minimo l'impatto delle interruzioni, diversamente da un approccio come l'interruzione del circuito, in cui tutto il traffico viene interrotto durante un sovraccarico.
Gestire errori parziali e tentativi di nuovo caricamento
Crea le tue applicazioni in modo che gestiscano gli errori parziali e le riavviate senza problemi. Questo design contribuisce a garantire che venga servito il maggior volume di traffico possibile durante gli scenari di carico elevato.
Testare gli scenari di sovraccarico
Per verificare che i meccanismi di throttling e di riduzione delle richieste funzionino in modo efficace, simula regolarmente condizioni di sovraccarico nel sistema. I test contribuiscono a garantire che il sistema sia preparato per i picchi di traffico reali.
Monitorare i picchi di traffico
Utilizza gli strumenti di analisi e monitoraggio per prevedere e rispondere ai picchi di traffico prima che si trasformino in sovraccarichi. Il rilevamento e la risposta tempestivi possono contribuire a mantenere la disponibilità del servizio durante i periodi di alta domanda.