Esse princípio do pilar de confiabilidade do Google Cloud framework bem arquitetado (em inglês) fornece recomendações para ajudar você a projetar suas Google Cloud cargas de trabalho para que apresentem falhas normalmente.
Esse princípio é relevante para a área de foco da resposta relacionada à confiabilidade.
Visão geral do princípio
A degradação graciosa é uma abordagem de design em que um sistema que passa por uma carga alta continua funcionando, possivelmente com performance ou acurácia reduzida. A degradação suave garante a disponibilidade contínua do sistema e impede uma falha completa, mesmo que o trabalho do sistema não seja o 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 os resultados de páginas da Web com classificações mais altas, possivelmente sacrificando alguma precisão. Quando a carga diminui, a Pesquisa Google recalcula os resultados da pesquisa.
Recomendações
Para projetar seus sistemas para a degradação suave, considere as recomendações nas subseções a seguir.
Implementar a limitação
Verifique se as réplicas lidam com sobrecargas de modo independente e se podem limitar as solicitações de entrada durante cenários de tráfego intenso. Essa abordagem ajuda a evitar falhas em cascata causadas por mudanças no tráfego excessivo entre as zonas.
Use ferramentas como a Apigee para controlar a taxa de solicitações de API durante os horários de tráfego intenso. É possível configurar regras de política para refletir como você quer escalonar as solicitações de volta.
Remova as solicitações em excesso antecipadamente
Configure seus sistemas para descartar as solicitações em excesso na camada de front-end e proteger os componentes do back-end. O descarte de 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, em contraste com uma abordagem como quebra de circuito, em que todo o tráfego é descartado durante uma sobrecarga.
Lidar com erros parciais e novas tentativas
Crie seus 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 exibido durante cenários de alta carga.
Testar cenários de sobrecarga
Para validar se os mecanismos de limitação e queda de solicitação funcionam de maneira eficaz, simule regularmente condições de sobrecarga no sistema. Isso ajuda a garantir que o 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 surtos de tráfego antes que eles se transformem em sobrecargas. Detecção e resposta antecipadas ajudam a manter a disponibilidade do serviço em períodos de alta demanda.