I have a basic question regarding the design of an application. The
scenario is as follows. A frontend sends job message to two different
queues (respectively routingKeys). The following shows the
configuration of the queues.
While scheduling does not take that much time, compose jobs may take
between 1 and 10 minutes. As you can see I can run 10 schedule jobs
concurrently, while I can only run 2 compose jobs concurrently. I am
using Spring AMQP with RabbitMQ.
To limit this, do I need to run for compose 2 consumers, and for
P.S. In Spring AMQP there is ChannelAwareMessageListener, which fires
asynchronous the onMessage() method, whenever a message arrives,
opening a thread for each message. Would that be the other way to go?
What would I need to take care of in this case? What I was thinking of
was two Consumers (Compose, Schedule) with prefetchCount set to 2
(Compose) or 10 (Schedule) to limit the concurrent execution of tasks?
I would be glad if anyone could help me out. I am bit stuck at the