[rabbitmq-discuss] Flow Control is to rigorous

Emile Joubert emile at rabbitmq.com
Fri Apr 26 09:57:25 BST 2013

On 25/04/13 18:34, Frank Shearar wrote:
> On 25 April 2013 17:21, rabbit15 <bison_art at o2.pl> wrote:
>> Hi, I have question about flow control. I have producer which send
>> sometimes messages faster than consumer can read. I want to
>> RabbitMQ will store them on the server. I use delivery not
>> persistent to faster work. I see that when there is to much
>> messages flow control blocked sending new messages, but there is a
>> lot of memory, cpu and disk space on the server.
> I assume you're seeing transient flow control. When you're sending 
> fast enough that Rabbit can't push the message into a queue, it
> tells you to slow down. You might want to read 
> http://www.rabbitmq.com/memory.html
> frank
>> I changes watermark for memory to 0.9. I don't want to store
>> messages on my producer, but on the RabbitMQ server. Other question
>> is there is some mechanism to reject some messgaes when there is to
>> much flow.

Further to what Frank says, the broker will not reject messages during
flow control, but publishers can do this by not sending messages.
Publishers can check whether the network socket would block if any
further data was written to the network, which will be the case if all
the network buffers have filled up. Publishers can throw away messages
under such conditions, which will consume less resources and achieve a
similar effect.


More information about the rabbitmq-discuss mailing list