Projetar para degradação suave

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.