syko
syko

Reputation: 3627

Does RabbitMQ have a mechanism to throttle down producers/consumers?

As far as I know, RabbitMQ has a internal flow control which blocks a producer which publishes messages too fast that consumers cannot catch up it. (It does not require any configuration)

I'd like to know whether I can configure some amount of quota (MB/sec) for each producer and client so that they do not burden the broker system too much.

For example, a producer with quota 2 MB/sec cannot publish messages at higher rate than 2 MB/sec.

Upvotes: 1

Views: 912

Answers (1)

Gabriele Santomaggio
Gabriele Santomaggio

Reputation: 22682

There is no a way lo limit each single producer. The flow control needs to do not burden the broker system too much.

If needs, you can tune the memory threshold and the paging threshold: https://www.rabbitmq.com/memory.html

about the flow control I suggest to read: http://www.rabbitmq.com/blog/2014/04/14/finding-bottlenecks-with-rabbitmq-3-3/

and

https://www.rabbitmq.com/blog/2015/10/06/new-credit-flow-settings-on-rabbitmq-3-5-5/

I'd add that, for my side, it doesn't make too much sense to limit a single producer, what happen if for example you have thousand of producers ?

Upvotes: 1

Related Questions