Projetar para degradação suave

Last reviewed 2024-12-30 UTC

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 á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 retorna 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 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 solicitações em excesso 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 seus aplicativos para lidar com erros parciais e novas tentativas de maneira eficiente. 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 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.