Comparar políticas de Quota e SpikeArrest

Você está visualizando a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Políticas de Quota e SpikeArrest: qual delas atende melhor suas necessidades de limitação de taxa? Veja o gráfico de comparação abaixo.

Cota SpikeArrest
Use-o para: Limitar o número de conexões que os aplicativos podem fazer ao back-end de destino do proxy da AP em um período específico. Protege o back-end de destino do proxy da API contra fortes picos de tráfego e ataques de negação de serviço.
Não use para:

Não o utilize para proteger o back-end de destino do seu proxy de API contra picos de tráfego.

Para isso, use a política SpikeArrest.

Não o utilize para contar e limitar o número de conexões que os apps podem fazer ao back-end de destino do proxy da API durante um período específico.

Para isso, use a política Quota.

Armazena uma contagem? Sim Não
Práticas recomendadas para anexar a política:

Anexe-a ao ProxyEndpoint Request PreFlow, geralmente após a autenticação do usuário.

Assim, a política pode verificar o contador de cotas no ponto de entrada do proxy da API.

Anexe-a ao PreEndpointRequest Request PreFlow, geralmente no início do fluxo.

Isso fornece proteção contra picos no ponto de entrada do proxy da API.

Código de status HTTP quando o limite é atingido:

500 (erro interno do servidor) *

500 (erro interno do servidor) *

É bom saber:
  • O contador de cotas é armazenado no Cassandra.
  • Configure a política para sincronizar o contador de maneira assíncrona para poupar recursos.
  • A sincronização de contagem assíncrona pode causar um atraso na resposta de limitação de taxa, o que pode permitir que as chamadas excedam levemente o limite definido.
  • Executa a limitação com base no horário em que o último tráfego foi recebido. Esse tempo é armazenado por processador de mensagens.
  • Se você especificar um limitação de taxa de 100 chamadas por segundo, apenas uma chamada a cada 1/100 segundo (10 ms) será permitida no processador de mensagens. Uma segunda chamada dentro de 10 ms será rejeitada.
  • Mesmo com um limitação de taxa alto por segundo, solicitações quase simultâneas podem resultar em rejeições.
Veja mais detalhes: Política de cotas Política de Detenção de pico

* Para a Política do Quota e a política do Spike Arrest, o código de status HTTP padrão para limitação de taxa excedente é um 500 Internal Server Error genérico. É possível alterar o código de status dessas políticas para 429 Too Many Requests adicionando uma propriedade no nível da organização (features.isHTTPStatusTooManyRequestEnabled). Se você for um cliente do Cloud, entre em contato com o suporte do Apigee Edge para ativar a propriedade.