¿Qué es la limitación de frecuencia?
La limitación de velocidad es un mecanismo de control que usan las API en la nube para regular el número de solicitudes que un usuario puede realizar en un período de tiempo determinado. Los productores de API en la nube usan la limitación de velocidad para asegurarse de que el flujo de solicitudes no sobrecarga el servicio. La limitación de velocidad establece un límite en la velocidad y el volumen de llamadas API, que normalmente se definen en términos de solicitudes por período de tiempo.
¿Por qué las API en la nube usan la limitación de velocidad?
- Evite la sobrecarga. La limitación de velocidad garantiza que el servidor de API permanezca estable y con capacidad de respuesta, ya que impide que cualquier usuario o servicio único lo inunde con demasiadas solicitudes.
- Asegúrese de un uso justo. La limitación de velocidad aplica directivas de uso razonables, lo que garantiza que ningún usuario monopoliza los recursos de API, lo que permite el acceso equitativo a todos los usuarios.
- Seguridad. Ayuda a mitigar los ataques de DDoS (denegación de servicio distribuido) y otros comportamientos abusivos al restringir el número de solicitudes de orígenes potencialmente malintencionados.
- Gestión de costos . En el caso de los proveedores de servicios en la nube, la limitación de velocidad ayuda a administrar los costos operativos evitando un uso impredecible o excesivo de los recursos.
- Calidad del servicio. Al evitar picos de tráfico, la limitación de velocidad garantiza una calidad de servicio coherente para todos los usuarios.
Cómo experimenta la limitación de velocidad en las aplicaciones
Al compilar aplicaciones que integran las API en la nube, consulte su documentación para comprobar si admiten la limitación de velocidad. Si lo hacen, recibirá RateLimit-...
encabezados de respuesta o X-RateLimit-...
con información sobre los límites de velocidad. Puede usar esta información en la aplicación para asegurarse de que no supera los límites de velocidad de la API. Por ejemplo, el RateLimit-Remaining
encabezado indica el número de solicitudes restantes en la ventana actual. Si recibe una respuesta con este encabezado establecido en 0, sabe que ha alcanzado el límite de frecuencia y debe esperar a la siguiente ventana antes de enviar otra solicitud. El RateLimit-Reset
encabezado indica la hora en que se restablece el límite de velocidad. Recuerde que algunas API solo envían los RateLimit-...
encabezados después de alcanzar un umbral, por ejemplo, cuando tiene el 10 % de las solicitudes restantes.
Cuando se supera el límite de velocidad, la API limita las solicitudes que devuelven un código de estado HTTP 429 (demasiadas solicitudes). Algunas API también pueden enviar un Retry-After
encabezado que indique cuánto tiempo debe esperar antes de enviar otra solicitud.
Para evitar la limitación y asegurarse de que la aplicación sigue respondiendo, debe implementar la limitación de velocidad en la aplicación. En función de la pila de tecnología, hay diferentes bibliotecas que le ayudan a controlar la limitación de velocidad en la aplicación. Después de implementar la limitación de velocidad en la aplicación, pruebe si controla la limitación de velocidad correctamente.