Cómo aplicar un límite en la cantidad de mensajes en mi Amazon SQS

Suena como un caso de uso muy extraño que va en contra de toda la razón para usar SQS en primer lugar. SQS está configurado para una escala ilimitada donde puede tener muchos servidores mirando y procesando la cola para tomar la carga, por lo que limitarlo arbitrariamente a 200 no es realmente algo que creo que pueda hacer.

Además, el límite de 200 realmente dependería de qué tan rápido procese la lista. Una vez que lo procesa y lo elimina, obtiene el siguiente en la lista, entonces, ¿qué? ¿Has enviado una letra muerta hasta que proceses y elimines esa? Realmente no tiene sentido.

Si lo que intenta hacer es limitar las primeras 200 respuestas a algo, usaría otra tecnología y diría que SQS es práctico para usted.

Siempre puede hacer una lista truncada en Redis, donde puede realizar operaciones de tipo “200 principales” o “200 recientes”. Redis se puede ejecutar en una instancia EC2 o mediante Elastic Cache. Puede truncar una lista ordenada al agregar o ignorar las publicaciones después de un recuento.

Si no lo ha usado, Redis es extremadamente rápido, divertido de usar y es un caché impresionante. No haría girar el caché elástico solo para esta pequeña parte de su aplicación, pero si puede usarlo para todas sus necesidades de almacenamiento en caché, vale la pena y es una tecnología maravillosa.

No puede aplicar un límite a la profundidad de una cola. ¿Cuál es su caso de uso aquí? Tenga en cuenta que Amazon SQS no limita la cantidad de datos que puede enviar.