Presentamos el límite de tasa de Assemblies para más estabilidad
En el pasado reciente hemos experimentado algunas ralentizaciones, un aumento de los tiempos de cola y de las tasas de error. Además de las caídas de Route 53, RDS y LAN que sufrimos en EC2, algunos de estos problemas también los causaron personas que enviaban demasiadas solicitudes a la vez, por ejemplo al importar una gran biblioteca de videos o imágenes. Hoy lo solucionamos con la introducción de la limitación de tasa.
En términos generales, el comportamiento de un cliente no debería afectar al de nadie más. Como todos nuestros clientes siguen compartiendo una única cola de Jobs, no podemos garantizarlo sin usar límites de tasa. Ya abordamos la mayoría de los problemas con la introducción de colas prioritarias (a un cliente con X Jobs en cola se le añaden sus siguientes Jobs al final de la cola, mientras que los Jobs de otros clientes se colocan al principio) y reduciendo los tiempos de escalado a 2 minutos por máquina de ocho núcleos, etc.
Pero por muy rápido que podamos escalar, siempre hay límites en nuestro mundo físico. En el pasado vivimos grandes importaciones por lotes, en las que había personas que importaban miles de videos a la vez, o decenas de miles de imágenes. Esto hizo que nuestra plataforma escalara hasta 100 máquinas, pero las Assemblies de otros clientes aún podían tardar hasta 90 minutos en ejecutarse, algo que no es aceptable en absoluto.
Además de las importaciones masivas legítimas, el código de integración con errores también puede provocar que se envíen demasiadas solicitudes en un periodo de tiempo muy corto. Esto puede derivar en facturas elevadas a fin de mes con las que el cliente no contaba.
En resumen, estamos abordando estos problemas limitando las solicitudes que puedes enviar.
Por ahora, solo limitamos a 250 por minuto el número de Assemblies que puedes crear. Creemos que esto es más que suficiente para un uso razonable. Evaluaremos de cerca el impacto de esta medida e introduciremos más límites según sea necesario.
Si alguna vez alcanzas el límite de tasa, recibirás un error 413 RATE_LIMIT_REACHED. El JSON
del error tiene una subclave info.retryIn, que te indica el número de segundos que
debes esperar antes de poder crear tu siguiente Assembly.
Al ofrecer esta información, esperamos ayudar a nuestros clientes a lograr una integración fluida y
queremos asegurarnos de que tu importación no se ralentice ni un segundo más de lo necesario.
Recuerda que los límites de solicitudes son una función para proteger nuestra plataforma de un uso excesivo (en su mayoría no válido), lo que garantiza una mejor experiencia para todos. También permitimos límites de tasa distintos para cada cliente. Así que, si crees que necesitas un límite de tasa más alto, crea un ticket de soporte, por favor, y con gusto lo aumentaré.
