Este princípio no pilar de fiabilidade da Google Cloud estrutura bem arquitetada fornece recomendações para ajudar a conceber as suas Google Cloud cargas de trabalho para falharem graciosamente.
Este princípio é relevante para a resposta área de foco da fiabilidade.
Vista geral do princípio
A degradação gradual é uma abordagem de design em que um sistema que regista uma carga elevada continua a funcionar, possivelmente com um desempenho ou uma precisão reduzidos. A degradação gradual garante a disponibilidade contínua do sistema e evita a falha completa, mesmo que o trabalho do sistema não seja o ideal. Quando a carga regressa a um nível gerível, o sistema retoma a funcionalidade completa.
Por exemplo, durante períodos de carga elevada, a Pesquisa Google dá prioridade aos resultados de páginas Web com uma classificação mais elevada, o que pode sacrificar alguma precisão. Quando a carga diminui, a Pesquisa Google volta a calcular os resultados da pesquisa.
Recomendações
Para criar os seus sistemas para uma diminuição dos níveis de serviço gradual, considere as recomendações nas seguintes subsecções.
Implemente a limitação
Certifique-se de que as suas réplicas conseguem processar sobrecargas de forma independente e podem limitar os pedidos recebidos durante cenários de tráfego elevado. Esta abordagem ajuda a evitar falhas em cascata causadas por mudanças no excesso de tráfego entre zonas.
Use ferramentas como o Apigee para controlar a taxa de pedidos de API durante períodos de tráfego elevado. Pode configurar regras de políticas para refletir a forma como quer reduzir os pedidos.
Rejeite pedidos excessivos antecipadamente
Configure os seus sistemas para rejeitar pedidos excessivos na camada de front-end para proteger os componentes de back-end. A rejeição de alguns pedidos impede falhas globais e permite que o sistema recupere de forma mais elegante.Com esta abordagem, alguns utilizadores podem ter erros. No entanto, pode minimizar o impacto das indisponibilidades, ao contrário de uma abordagem como a interrupção de circuito, em que todo o tráfego é eliminado durante uma sobrecarga.
Trate erros parciais e novas tentativas
Crie as suas aplicações para processarem erros parciais e novas tentativas sem problemas. Este design ajuda a garantir que o máximo de tráfego possível é publicado durante cenários de carga elevada.
Teste cenários de sobrecarga
Para validar se os mecanismos de limitação e de rejeição de pedidos funcionam eficazmente, simule regularmente condições de sobrecarga no seu sistema. Os testes ajudam a garantir que o seu sistema está preparado para picos de tráfego reais.
Monitorize picos de tráfego
Use ferramentas de estatísticas e monitorização para prever e responder a picos de tráfego antes que se transformem em sobrecargas. A deteção e a resposta antecipadas podem ajudar a manter a disponibilidade do serviço durante períodos de elevada procura.