Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

400
Vistas
Cola SQS única frente a cola SQS múltiple al crear un modelo asíncrono

Tengo que desarrollar un componente donde los Apis sean de naturaleza asíncrona. Para desarrollar este modelo asíncrono, usaré las colas de Aws SQS para publicar mensajes y el cliente leerá de la cola y enviará la respuesta nuevamente a la cola. Ahora hay 10 API (actualmente) que tengo que exponer. Actualmente, puedo pensar en tener una sola solicitud y una sola cola de respuesta (que sondearé) para todas las API y la carga útil de las API puede definirse mediante alguna operación. La otra forma es usar una cola separada para cada API. La ventaja que puedo ver para varias colas es que cada API puede tener un tráfico diferente y tener varias colas puede ayudar al cliente de las colas a escalar de manera efectiva. ¿Cuáles pueden ser otros pros o contras para ambos enfoques?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Separe su caso de uso en 2 problemas distintos:

Problema 1: API para trabajadores, ¿una cola o varias?

Si sus trabajadores realizan diferentes tipos de trabajo, tener una sola cola requerirá que inspeccionen y luego descarten los mensajes que no les interesan. Si este es el caso, debería tener una cola por tipo de mensaje. De esta manera, cualquier mensaje que un trabajador reciba de la cola, debería poder manejarlo.

Si comienza a ignorar los mensajes, entonces otros trabajadores, que pueden estar inactivos, pueden estar esperando por un tiempo los mensajes que le interesan.

Problema 2: Uso de una cola de retorno para los "resultados". Si sus clientes van a sondear los resultados, en cada sondeo, su API deberá sondear la cola. Una vez más, estará "buscando" la respuesta correcta, descartando aquellas que no le importan, matando de hambre a otros clientes.

Recomendación:

Utilice varias colas, una por "tipo de trabajador". Los trabajadores deberían poder procesar cualquier mensaje que reciba de la cola.

Luego use algo que no sea SQS para almacenar el resultado. Una opción es usar S3 para almacenar el resultado:

  1. Cuando su API "crea" la tarea, cree un objeto en S3 y coloque una referencia a ese objeto S3 en su cola SQS.
  2. Su trabajador hará el trabajo, luego pondrá el resultado donde se le indicó.
  3. Cuando su cliente sondee su API para obtener el resultado, su API verificará S3 y devolverá el estado/resultados.

En lugar de S3, se podrían usar otros almacenes de datos si corresponde: RDS, DynamoDB, etc.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda