Antipadrão: usar identificadores de alta cardinalidade em políticas de cota

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

A política de cotas é usada para contar o número de solicitações recebidas por um proxy de API. Esse recurso permite que os provedores de APIs apliquem limites ao número de chamadas de API feitas por apps em um intervalo de tempo.

A política de cotas pode incluir um identifier elemento que identifica o "bucket" de cota em que cada solicitação é contada.

Antipadrão

Ao usar a política de cotas, não use identificadores de alta cardinalidade.

A cardinalidade se refere ao número de valores de dados exclusivos em um conjunto. Um identificador com alta cardinalidade tem um grande número de valores possíveis distintos. Os identificadores de alta cardinalidade incluem IDs de solicitação ou de sessão exclusivos que mudam a cada chamada de API.

O uso de identificadores de alta cardinalidade pode prejudicar significativamente a eficácia da aplicação de cotas

Impacto

O uso de identificadores de alta cardinalidade para o elemento de identificador da política de cotas causa:

  • Aplicação de cotas ineficaz: cada identificador exclusivo é tratado como um contador separado. Se cada solicitação tiver um ID novo e exclusivo, o sistema de cotas vai criar um novo "bucket" para cada chamada de API. Isso significa que o limite geral de cotas é medido em relação a contadores individuais de uso único em vez de grupos reais de solicitações que você quer limitar, tornando a política inútil para o controle de tráfego.
  • Aumento do consumo de recursos: a geração e o gerenciamento de um grande número de contadores de cotas exclusivos impõem uma pressão desnecessária na plataforma Apigee, levando a um aumento do uso de recursos e possíveis problemas de desempenho.
  • Desafios de monitoramento: fica difícil monitorar e entender as tendências reais de consumo de API quando os dados são fragmentados em um grande número de identificadores exclusivos. Você perde a capacidade de ver quais aplicativos, desenvolvedores ou produtos estão consumindo seus recursos de API.

Prática recomendada

Escolha identificadores com cardinalidade baixa a média que também representem um agrupamento estável e significativo para a aplicação de cotas. Eles ajudam a gerenciar o uso da API de maneira eficaz e a receber insights sobre o tráfego. Por exemplo:

  • developer.app.name
  • client_id
  • apiproduct.name

Com identificadores adequados, a política de cotas pode gerenciar o tráfego de API com mais eficácia evitar excessos não intencionais e fornecer insights claros sobre padrões de uso.