Antipattern: use identificadores de elevada cardinalidade em políticas de quotas

Está a ver a documentação do Apigee e do Apigee Hybrid.
Ver documentação do Apigee Edge.

A política de quotas é usada para contabilizar o número de pedidos recebidos por um proxy de API. Esta capacidade permite que os fornecedores de APIs apliquem limites ao número de chamadas de API feitas pelas apps durante um intervalo de tempo.

A política de quotas pode incluir um elemento identifier que identifica o "recipiente" de quotas no qual cada pedido é contabilizado.

Antipattern

Quando usar a política de quotas, não use identificadores de elevada cardinalidade.

A cardinalidade refere-se ao número de valores de dados únicos num conjunto. Um identificador com elevada cardinalidade tem um grande número de valores possíveis distintos. Os identificadores de cardinalidade elevada incluem IDs de pedidos exclusivos ou IDs de sessões que mudam com cada chamada da API.

A utilização de identificadores de elevada cardinalidade pode comprometer significativamente a eficácia da aplicação das quotas.

Impacto

A utilização de identificadores de alta cardinalidade para o elemento identificador da política de quotas:

  • Aplicação ineficaz da quota: cada identificador exclusivo é tratado como um contador separado. Se cada pedido tiver um ID novo e exclusivo, o sistema de quotas cria essencialmente um novo "recipiente" para cada chamada da API. Isto significa que o limite de quota geral é medido em função de contadores individuais de utilização única em vez de grupos reais de pedidos que quer limitar, o que torna a política inútil para o controlo de tráfego.
  • Aumento do consumo de recursos: a geração e a gestão de um número enorme de contadores de quotas únicos exercem uma pressão desnecessária sobre a plataforma Apigee, o que leva a um aumento da utilização de recursos e a potenciais problemas de desempenho.
  • Desafios de monitorização: torna-se difícil monitorizar e compreender as tendências de consumo reais da API quando os dados estão fragmentados em grandes números de identificadores únicos. Perde a capacidade de ver que aplicações, programadores ou produtos estão a consumir os seus recursos da 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 quotas. Estas ajudam a gerir a utilização da API de forma eficaz e a obter estatísticas sobre o seu tráfego. Os exemplos incluem:

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

Com os identificadores adequados, a sua política de quotas pode gerir o tráfego da API de forma mais eficaz, evitar excedentes não intencionais e fornecer estatísticas claras sobre os padrões de utilização.