Este princípio no pilar de confiabilidade do Google Cloud Framework de arquitetura do Google Cloud fornece recomendações para ajudar você a projetar suas cargas de trabalho do Google Cloud para falhar de maneira controlada.
Esse princípio é relevante para a área de foco de resposta 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, possivelmente 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 a precisão. Quando a carga diminui, a Pesquisa recalcula os resultados da pesquisa.
Recomendações
Para projetar seus sistemas para degradação gradual, considere as recomendações nas subseções a seguir.
Implementar limitação
Verifique se as réplicas podem lidar de forma independente com sobrecargas e limitar as solicitações recebidas durante cenários de alto tráfego. Essa abordagem ajuda a evitar falhas em cascata causadas por mudanças no excesso de tráfego entre zonas.
Use ferramentas como a 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.
Descartar solicitações em excesso com antecedência
Configure seus sistemas para descartar solicitações em excesso na camada de front-end para proteger os componentes de back-end. Descartar algumas solicitações evita falhas globais e permite que o sistema se recupere de maneira mais tranquila. Com essa abordagem, alguns usuários podem encontrar erros. No entanto, é possível minimizar o impacto das interrupções, ao contrário de uma abordagem como a interrupção de circuito, em que todo o tráfego é descartado durante uma sobrecarga.
Tratar erros parciais e novas tentativas
Crie seus aplicativos para lidar com erros parciais e novas tentativas de maneira integrada. Esse design ajuda a garantir que o máximo de tráfego possível seja atendido durante cenários de alta carga.
Testar cenários de sobrecarga
Para validar se os mecanismos de limitação e rejeição de solicitações funcionam de maneira eficaz, simule regularmente condições de sobrecarga no sistema. Os testes ajudam a garantir que seu sistema esteja preparado para picos de tráfego reais.
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.