Resúmen:
Los límites permiten definir la cantidad de consultas y transferencias máximas en MB que aceptará el gateway por unidades de tiempo. En este artículo se explica la configuración de límites a nível de los métodos de una API.
Estos límites permiten evitar usos incorrectos que degraden el servicio y su definición dependerá del tipo de API, del perfil de usuarios desarrolladores y del problema que se busca resolver.
Además, podrá definir los tiempos de espera (timeout) y el tiempo que la respuesta permanecerá en caché. La configuración de caché es relevante para mejorar la performance de la respuesta y su definición dependerá de la frecuencia de actualización de los datos.
Cuando se superen los límites establecidos la API responderá con un mensaje indicando que se han superado los límites y el tiempo de espera o cuarentena. Esto se conoce como request throttling limits.
¿Qué es la regulación de solicitudes o límites de una API?
La regulación de límites de solicitudes a las APIs (también conocida como API Rate Limiting) es una práctica en la gestión de APIs que controla la cantidad de solicitudes que un cliente (usuario o aplicación) puede realizar en un periodo determinado. Esta regulación es fundamental para garantizar la disponibilidad, seguridad y desempeño de las APIs.
La regulación de límites permite;
Evitar la sobrecarga de los servidores: al limitar el número de solicitudes, se previene que un solo cliente o aplicación sobrecargue el servidor con un exceso de solicitudes, lo que podría afectar la capacidad de los orígenes de datos para atender otras solicitudes de manera eficiente.
Protegerse contra ataques: es una medida de seguridad que protege contra ciertos tipos de ataques, como los ataques de denegación de servicio (DDoS), donde un atacante podría intentar saturar la API enviando una gran cantidad de solicitudes en un corto periodo.
Controlar costos: para APIs que estén monetizadas bajo el modelo de transacción, limitar las consultas ayuda a controlar los costos asociados con el uso de la API y evitar que el cliente supere los límites definidos. Si la API se encuentra monetizada bajo el modelo de suscripción, permite definir las cantidades de solicitudes para cada plan.
¿Cuáles son las variables que pueden configurarse en los límites?
Al configurar límites de las APIs puede definir:
Cantidad de solicitudes por unidad de tiempo.
Cantidad de megabytes a transferir en las consultas por unidad de tiempo.
Duración de caché de la respuesta.
Tiempo máximo de la respuesta (o timeout).
¿Qué sucede cuando se aplica un límite sobre un usuario o aplicación?
En caso de que un usuario agote sus cuotas para esos rangos de tiempo, deberá esperar a que se cumpla dicho período para poder volver a realizar nuevas consultas.
Por ejemplo, si un usuario supera la cantidad de solicitudes por minuto, deberá esperar un minuto para poder realizar la consulta nuevamente.
Niveles de configuración
La configuración de los límites se puede realizar en cuatro niveles:
Límites a nivel de API para todos los usuarios.
Límites a nivel de método para todos los usuarios.
Límites a nivel de grupo para los usuarios pertenecientes a un grupo.
Límites a nivel usuario de forma individual.
A partir de esos cuatro niveles pueden darse las siguientes combinaciones:
Introducción
Al agregar o editar un método es posible configurar los límites para ese método.
Para ello, debe hacer clic en el botón “Sobreescribir” del título “Limites”, tal y cómo se indica en la siguiente imágen:
Se abrirá una ventana donde es posible agregar conjuntos de límites haciendo clic en “Nuevo Límite”
Para todos los usuarios
Dadas las configuraciones posibles que pueden realizarse debe tenerse en cuenta la siguiente jerarquía en la aplicación de los límites.
Esta jerarquía asegura que los límites pueden ser ajustados según las necesidades específicas de cada usuario o grupo de usuarios.