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 de forma independente com sobrecargas e limitar as solicitações recebidas durante períodos de tráfego intenso. 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 tráfego intenso. É possível configurar regras de política para refletir como você quer reduzir as solicitações.
Descarte o excesso de solicitações com antecedência
Configure seus sistemas para rejeitar 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 que os mecanismos de limitação de utilização e de rejeição de solicitações funcionam de maneira eficaz, simule regularmente condições de sobrecarga no seu sistema. Os testes ajudam a garantir que o 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.