¿Qué es la limitación de frecuencia?

La limitación de velocidad es un mecanismo de control que utilizan las API en la nube para regular la cantidad de solicitudes que un usuario puede realizar en un tiempo específico. 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 las llamadas a la API. Los límites de tasa suelen definirse en términos de solicitudes por unidad 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 políticas de uso justo al garantizar que ningún usuario monopolice los recursos de la API. La limitación de velocidad permite un acceso equitativo a todos los usuarios.
  • Aumentar la seguridad. La limitación de velocidad ayuda a mitigar los ataques de denegación de servicio distribuido y otros comportamientos abusivos al restringir el número de solicitudes de fuentes potencialmente maliciosas.
  • Gestionar costes. 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.
  • Mantener la calidad del servicio. La limitación de velocidad garantiza una calidad de servicio constante para todos los usuarios al evitar picos de tráfico.

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á los encabezados de respuesta RateLimit-... o X-RateLimit-... con información sobre los límites de frecuencia. 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 recibes una respuesta con este encabezado establecido en 0, sabrás que has alcanzado el límite de frecuencia y debes 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. Algunas API envían los RateLimit-... encabezados solo después de alcanzar un umbral. Un ejemplo es cuando le quedan 10% de las solicitudes.

Cuando superas el límite de frecuencia, la API limita tus solicitudes y devuelve un código de estado HTTP 429 Too Many Requests . Algunas API también pueden enviar un Retry-After encabezado para indicar cuánto tiempo debes esperar antes de enviar otra solicitud.

Para evitar la restricción y asegurarse de que su aplicación siga respondiendo, implemente la limitación de tasa en su aplicación. Dependiendo de su stack tecnológico, distintas bibliotecas pueden ayudarle a gestionar la limitación de tasa en su aplicación. Después de implementar la limitación de velocidad en la aplicación, pruebe si controla la limitación de velocidad correctamente.

¿Cómo afecta la limitación de velocidad a la aplicación?

La mayoría de las aplicaciones no controlan la limitación de velocidad correctamente. Cuando la API comienza a devolver 429 respuestas, la aplicación típica se bloquea, muestra un error al usuario o pierde datos de forma silenciosa. Puede averiguar cómo se comporta la aplicación simulando los límites de velocidad localmente mediante el proxy de desarrollo, sin esperar a que la API real le limite.

Pasos siguientes