es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo funciona el límite de concurrencia en MassTransit RabbitMQ?

Estoy leyendo sobre el Límite de Concurrencia en MassTransit RabbitMQ, pero aún no entiendo cómo funciona realmente.

Supongamos que tengo 4 consumidores y configuro las colas con un límite de concurrencia de 1 config.UseConcurrencyLimit(1);. Cuando un productor envía 4 mensajes al mismo tiempo, ¿qué sucederá? ¿Se consumirá solo uno de los mensajes en un solo consumidor y los otros 3 mensajes serán descartados?

¿Alguien podría explicarme cómo funciona?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Cuando configuras las colas con un límite de concurrencia de 1, significa que solo se procesará un mensaje a la vez. Entonces, cuando el productor envía 4 mensajes al mismo tiempo, los mensajes se encolarán y se procesarán uno por uno. El primer mensaje será consumido por uno de los 4 consumidores y luego el segundo mensaje seguirá el mismo proceso, y así sucesivamente hasta que todos los mensajes sean consumidos.

    En otras palabras, un mensaje no será descartado, sino que esperará en la cola hasta que sea su turno de ser procesado. Los otros tres consumidores estarán inactivos y esperarán su turno para consumir un mensaje.

    Es importante tener en cuenta que el límite de concurrencia es por punto de recepción, no por consumidor. Por lo tanto, si tienes múltiples puntos de recepción, cada punto de recepción puede tener un límite de concurrencia diferente.

    Espero que esta explicación te ayude a entender cómo funciona el límite de concurrencia en MassTransit RabbitMQ.

Comments are closed.