You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by fergus <fe...@gmail.com> on 2018/06/20 09:56:15 UTC

Question regarding support for consumer priority in competing consumer use-case

Hi QPid team,

I have a question regarding the possibility to add a priority to
consumers in a competing consumer use-case.

I have a scenario where I have many consumers competing on a FIFO
queue.  These consumers interact with external resources which is
expensive.  As such I wish to optimise the resource utilisation.
However I also want to be able to scale at times of load.

I was wondering if it would be possible to provide a priority to the
consumers listening to the queue.  In this case, if I had two
consumers waiting to receive, the consumer with the highest priority
would receive the message.

This will enable the consumers to be kept running to deal with high
load, while also allowing the external resources to be freed on
consumers with low priority after a TTL.  During times of high load
the consumer with freed resources can the reallocate the external
resource when load is high again.

I have searched the documentation and have not be able to found
anything similar.Kind regards,

Fergus

Re: Question regarding support for consumer priority in competing consumer use-case

Posted by Rob Godfrey <ro...@gmail.com>.
Hi Fergus,

which of the Qpid components are you using / looking to use?  For instance
Qpid Broker-J does support different consumer priorities:
https://qpid.apache.org/releases/qpid-broker-j-7.0.5/book/Java-Broker-Runtime-Consumers.html
.

-- Rob

On Wed, 20 Jun 2018 at 11:57, fergus <fe...@gmail.com> wrote:

> Hi QPid team,
>
> I have a question regarding the possibility to add a priority to
> consumers in a competing consumer use-case.
>
> I have a scenario where I have many consumers competing on a FIFO
> queue.  These consumers interact with external resources which is
> expensive.  As such I wish to optimise the resource utilisation.
> However I also want to be able to scale at times of load.
>
> I was wondering if it would be possible to provide a priority to the
> consumers listening to the queue.  In this case, if I had two
> consumers waiting to receive, the consumer with the highest priority
> would receive the message.
>
> This will enable the consumers to be kept running to deal with high
> load, while also allowing the external resources to be freed on
> consumers with low priority after a TTL.  During times of high load
> the consumer with freed resources can the reallocate the external
> resource when load is high again.
>
> I have searched the documentation and have not be able to found
> anything similar.Kind regards,
>
> Fergus
>