Dynamic Media OpenAPI e Asset Gateway: como entender e resolver limites de taxa de API

A atividade de API de alto volume pode retornar erros HTTP 429 quando os padrões de solicitação excedem os limites de taxa dinâmicos. O problema é normalmente causado por disparo de tráfego, sondagem repetida ou fluxos de trabalho de várias etapas, em que cada chamada é contada separadamente, enquanto o armazenamento em cache pode atrasar quando as atualizações se tornam visíveis. A resolução se concentra em confirmar a limitação nos logs, reduzir solicitações desnecessárias, respeitar o comportamento do cache e aplicar retrocesso exponencial. Respostas estáveis retornam após os padrões de solicitação e o comportamento de repetição serem ajustados.

Descrição description

Ambiente:

  • Fluxos de trabalho de assimilação de ativos baseados em API
  • Workflows de recuperação de metadados
  • Entrega de ativos ou integrações de gateway
  • Clientes que fazem solicitações de API repetidas ou de alto volume

Problema/Sintomas

  • Os endpoints da API retornam respostas HTTP 429 Demasiadas Solicitações intermitentes, que podem ser confirmadas em logs de aplicativos ou dados de monitoramento e vinculadas aos endpoints afetados.
  • O problema é mais perceptível durante o tráfego de intermitência ou outros períodos de solicitação de alto volume, indicando limitação sob carga de solicitação mais pesada.
  • Os workflows de várias etapas podem ser afetados desproporcionalmente, pois uma única operação pode gerar várias solicitações de API contadas, como pesquisa, pesquisa de metadados, iniciação de upload e envio de upload.
  • A repetição da atividade do cliente, incluindo sondagem, tentativas ou falha na reutilização de respostas em cache, pode aumentar o volume de solicitações e contribuir para a limitação.
  • As atualizações de ativos ou conteúdo podem parecer atrasadas porque as respostas em cache podem persistir por até 10 minutos; esse comportamento pode ser validado por meio de cabeçalhos de resposta, como Cache-Control: max-age=600.
  • Nesses casos, o conteúdo atualizado pode se tornar visível somente após 1 a 10 minutos, o que aponta para o atraso da camada de cache, em vez de uma falha de API separada.

Causa raiz:

A API usa uma limitação de taxa dinâmica e baseada em carga em vez de um limite fixo de solicitações por segundo. Picos de tráfego, sondagem não otimizada e upload de várias etapas ou fluxos de consulta podem levar o volume de solicitações além de limites íntegros e acionar a limitação. Além disso, as respostas podem ser armazenadas em cache com Cache-Control: max-age=600, de modo que os caches downstream podem continuar a fornecer dados mais antigos após a atualização da origem.

Resolução resolution

Use as etapas abaixo para reduzir a limitação e confirmar a recuperação.

  1. Revise os logs de aplicativo ou o monitoramento de API para identificar Muitas solicitações HTTP 429 respostas. O resultado esperado é uma evidência clara de limitação vinculada aos endpoints de API afetados. Verifique se as respostas podem ser repetidas no mesmo fluxo de trabalho e se não estão isoladas a solicitações não relacionadas.
  2. Inspecione os fluxos de trabalho de upload ou consulta em busca de padrões de solicitação de várias etapas. O resultado esperado é a identificação dos fluxos em que cada chamada contribui separadamente para o volume global de solicitações. Verifique se as sequências de solicitação, como pesquisa, pesquisa de metadados, iniciação de upload e envio de upload estão sendo contadas.
  3. Revisar comportamento de repetição e cache de resposta, incluindo Cache-Control: max-age=600. O resultado esperado é encontrar chamadas repetidas que podem ser removidas, atrasadas ou armazenadas em cache. Verifique se o cliente respeita a duração do cache e não solicita novamente os mesmos dados imediatamente.
  4. Reduza o volume de solicitações armazenando as respostas em cache, sempre que possível, e evitando buscas repetidas de metadados ou chamadas duplicadas. O resultado esperado é uma taxa de transferência de API mais baixa e menos solicitações limitadas. Verifique a alteração revisando os logs ou o monitoramento para confirmar se o volume de solicitações diminui e se 429 respostas ocorrem com menos frequência.
  5. Valide o comportamento do cache ao verificar atualizações. O resultado esperado é reconhecer que o conteúdo atualizado pode aparecer após a propagação normal do cache, em vez de imediatamente. Verifique isso limpando o cache do navegador, repetindo a solicitação e confirmando se o conteúdo atualizado aparece dentro da janela de cache de 1 a 10 minutos esperada.
  6. Aplique o retrocesso exponencial para que o cliente aguarde progressivamente mais tempo antes de tentar novamente após uma resposta 429. O resultado esperado é uma frequência menor de eventos de limitação. Verifique o aprimoramento monitorando logs após a implantação das alterações de nova tentativa e confirmando o declínio de repetidas 429 respostas.
  7. Se o tráfego se aproximar consistentemente dos limites do serviço, analise se o agrupamento de solicitações ou as alterações de design do fluxo de trabalho podem reduzir as chamadas por item. O resultado esperado é um comportamento de resposta mais estável no tráfego normal. Verifique se os padrões de solicitação permanecem constantes durante o uso típico e não acionam mais a limitação repetida.
  8. Se a limitação continuar após a otimização da solicitação, colete carimbos de data e hora, endpoints afetados, cabeçalhos de solicitação e resposta, taxa de solicitação estimada e detalhes da estratégia de cache antes de entrar em contato com o suporte. O resultado esperado é um registro técnico completo que apoie uma investigação mais rápida. Verifique se as informações coletadas refletem as solicitações limitadas e as condições em que elas ocorrem.

Se HTTP 429 Demasiadas Solicitações respostas continuarem depois que o volume de solicitação for reduzido, o cache estiver funcionando como esperado, o comportamento de repetição for atualizado e a limitação ainda puder ser repetida para os mesmos fluxos de trabalho de API, envie um tíquete para o Suporte da Adobe e inclua os carimbos de data e hora, pontos de extremidade afetados, cabeçalhos de solicitação e resposta, taxa de solicitação estimada e detalhes da estratégia de cache coletados durante a solução de problemas.

Leitura relacionada

recommendation-more-help
experience-cloud-kcs-help-kbarticles