Dynamic Media OpenAPI y Asset Gateway: comprensión y resolución de los límites de velocidad de API
La actividad de API de gran volumen puede devolver errores HTTP 429 cuando los patrones de solicitud superan los límites de velocidad dinámicos. El problema suele deberse al tráfico de ráfaga, a sondeos repetidos o a flujos de trabajo de varios pasos en los que cada llamada se cuenta por separado, mientras que el almacenamiento en caché puede retrasarse cuando las actualizaciones se hacen visibles. La resolución se centra en confirmar la restricción en los registros, reducir las solicitudes innecesarias, respetar el comportamiento de la caché y aplicar un retroceso exponencial. Las respuestas estables se devuelven después de ajustar los patrones de solicitud y el comportamiento de reintento.
Descripción description
Entorno:
- Flujos de trabajo de ingesta de recursos basados en API
- Flujos de trabajo de recuperación de metadatos
- Entrega de recursos o integraciones de puerta de enlace
- Clientes que realizan solicitudes de API repetidas o de gran volumen
Problema/Síntomas
- Los extremos de API devuelven respuestas HTTP 429 intermitentes de demasiadas solicitudes, que se pueden confirmar en los registros de aplicaciones o en los datos de monitorización y vincularse de nuevo a los extremos afectados.
- El problema es más evidente durante el tráfico de ráfaga u otros períodos de solicitud de gran volumen, lo que indica un estrangulamiento bajo una carga de solicitud más pesada.
- Los flujos de trabajo de varios pasos se pueden ver afectados de forma desproporcionada porque una sola operación puede generar varias solicitudes de API contabilizadas, como búsqueda, búsqueda de metadatos, inicio de carga y envío de carga.
- La actividad repetida del cliente, incluidos sondeos, reintentos o errores al reutilizar las respuestas en caché, puede aumentar el volumen de la solicitud y contribuir a la limitación.
- Las actualizaciones de recursos o contenido pueden aparecer con retraso debido a que las respuestas almacenadas en caché pueden persistir durante un máximo de 10 minutos; este comportamiento se puede validar mediante encabezados de respuesta como
Cache-Control: max-age=600. - En estos casos, es posible que el contenido actualizado solo sea visible después de 1 a 10 minutos, lo que apunta a un retraso de la capa de caché en lugar de un error de API independiente.
Causa principal:
La API utiliza una limitación de velocidad dinámica basada en la carga en lugar de un umbral fijo de solicitudes por segundo. Los picos de tráfico, los sondeos no optimizados y los flujos de consulta o carga de varios pasos pueden empujar el volumen de solicitud más allá de los límites normales y la limitación de déclencheur. Además, las respuestas se pueden almacenar en caché con Cache-Control: max-age=600, de modo que las memorias caché descendentes pueden seguir sirviendo datos más antiguos después de que se haya actualizado el origen.
Resolución resolution
Siga los pasos a continuación para reducir la restricción y confirmar la recuperación.
- Revise los registros de aplicaciones o la supervisión de API para identificar HTTP 429 Demasiadas solicitudes respuestas. El resultado esperado es una clara evidencia de restricciones vinculadas a los extremos de API afectados. Compruebe que las respuestas se puedan repetir en el mismo flujo de trabajo y que no estén aisladas de solicitudes no relacionadas.
- Inspeccione los flujos de trabajo de carga o consulta para patrones de solicitud de varios pasos. El resultado esperado es la identificación de los flujos en los que cada llamada contribuye por separado al volumen total de solicitud. Compruebe que se cuentan las secuencias de solicitud, como la búsqueda, la búsqueda de metadatos, el inicio de la carga y el envío.
- Revise el comportamiento de reintentos y el almacenamiento en caché de respuestas, incluido
Cache-Control: max-age=600. El resultado esperado es encontrar llamadas repetidas que se pueden eliminar, retrasar o almacenar en caché. Compruebe que el cliente respeta la duración de la caché y no vuelve a solicitar inmediatamente los mismos datos. - Reduzca el volumen de las solicitudes almacenando en caché las respuestas siempre que sea posible y evitando recuperaciones de metadatos repetidas o llamadas duplicadas. El resultado esperado es un menor rendimiento de la API y menos solicitudes restringidas. Compruebe el cambio revisando los registros o la monitorización para confirmar que el volumen de la solicitud disminuye y que las respuestas 429 se producen con menos frecuencia.
- Validar el comportamiento de la caché al buscar actualizaciones. El resultado esperado es reconocer que el contenido actualizado puede aparecer después de la propagación normal de la caché en lugar de inmediatamente. Verifique esto borrando la caché del explorador, reintentando la solicitud y confirmando que el contenido actualizado aparece dentro del intervalo de caché esperado de 1 a 10 minutos.
- Aplique un retroceso exponencial para que el cliente espere progresivamente más antes de volver a intentarlo después de una respuesta 429. El resultado esperado es una menor frecuencia de eventos de regulación. Compruebe la mejora controlando los registros después de implementar los cambios de reintento y confirmando que las respuestas repetidas de 429 declinan.
- Si el tráfico se aproxima de forma consistente a los límites del servicio, revise si los cambios de diseño del flujo de trabajo o los lotes de solicitudes pueden reducir las llamadas por elemento. El resultado esperado es un comportamiento de respuesta más estable bajo el tráfico normal. Compruebe que los patrones de solicitud permanecen estables durante el uso habitual y ya no almacenan en déclencheur la restricción repetida.
- Si la restricción continúa después de la optimización de la solicitud, recopile marcas de tiempo, puntos de conexión afectados, encabezados de solicitud y respuesta, tasa de solicitud estimada y detalles de estrategia de caché antes de ponerse en contacto con el servicio de asistencia. El resultado esperado es un registro técnico completo que permita una investigación más rápida. Compruebe que la información recopilada refleja las solicitudes restringidas y las condiciones en las que se producen.
Si HTTP 429 Demasiadas solicitudes respuestas continúan después de que se haya reducido el volumen de solicitudes, el almacenamiento en caché funciona según lo esperado, se ha actualizado el comportamiento de reintentos y el estrangulamiento sigue siendo repetible para los mismos flujos de trabajo de API, envíe un ticket a Soporte de Adobe e incluya las marcas de tiempo, los extremos afectados, los encabezados de solicitud y respuesta, la tasa de solicitud estimada y los detalles de estrategia de caché recopilados durante la solución de problemas.