Esse princípio no pilar de confiabilidade do Google Cloud Well-Architected Framework fornece recomendações para ajudar você a projetar suas Google Cloud cargas de trabalho para falhar normalmente.
Esse princípio é relevante para a resposta área de foco da confiabilidade.
Visão geral do princípio
A degradação gradual é uma abordagem de design em que um sistema que passa por uma carga alta continua funcionando, talvez com desempenho ou precisão reduzidos. A degradação gradual garante a disponibilidade contínua do sistema e evita falhas completas, mesmo que o trabalho do sistema não seja ideal. Quando a carga volta a um nível gerenciável, o sistema retoma a funcionalidade completa.
Por exemplo, durante períodos de alta carga, a Pesquisa Google prioriza resultados de páginas da Web com classificação mais alta, o que pode sacrificar um pouco da precisão. Quando a carga diminui, a Pesquisa Google recalcula os resultados.
Recomendações
Para projetar seus sistemas para degradação normal, considere as recomendações nas subseções a seguir.
Implementar a limitação
Verifique se as réplicas podem lidar com sobrecargas de forma independente e limitar solicitações recebidas em cenários de alto tráfego. Essa abordagem ajuda a evitar falhas em cascata causadas por mudanças no tráfego excessivo entre zonas.
Use ferramentas como o Apigee para controlar a taxa de solicitações de API durante períodos de alto tráfego. É possível configurar regras de política para refletir como você quer reduzir as solicitações.
Descarte solicitações em excesso com antecedência
Configure seus sistemas para descartar solicitações em excesso na camada de front-end e proteger os componentes de back-end. Descartar algumas solicitações evita falhas globais e permite que o sistema se recupere de maneira mais adequada.Com essa abordagem, alguns usuários podem ter erros. No entanto, é possível minimizar o impacto das interrupções, ao contrário de uma abordagem como interrupção de circuito, em que todo o tráfego é descartado durante uma sobrecarga.
Tratar erros parciais e novas tentativas
Crie aplicativos para lidar com erros parciais e novas tentativas sem problemas. Esse design ajuda a garantir que o máximo de tráfego possível seja veiculado durante cenários de alta carga.
Testar cenários de sobrecarga
Para validar se os mecanismos de limitação e descarte de solicitações funcionam de maneira eficaz, simule regularmente condições de sobrecarga no seu sistema. Os testes ajudam a garantir que seu sistema esteja preparado para picos de tráfego no mundo real.
Monitorar picos de tráfego
Use ferramentas de análise e monitoramento para prever e responder a picos de tráfego antes que eles se transformem em sobrecargas. A detecção e a resposta antecipadas podem ajudar a manter a disponibilidade do serviço durante períodos de alta demanda.