[rabbitmq-discuss] Install a plugin in the broker

Matthias Radestock matthias at rabbitmq.com
Fri Aug 3 09:52:14 BST 2012

On 03/08/12 09:45, Félix López wrote:
> Let me check.
> Regarding the throttling:
> It's a temporary solution, I'd like to try to do good one with credit
> flow, but later.
> It preserves the order in what they arrive, so when a message for the
> exchange Test1 arrives a process is spawned with a timeout, the next
> message for the same exchange takes into that time, so it calculates its
> timeout basing on it.

In your code each message is passed on via a freshly spawned process. 
Erlang only guarantees message order between pairs of processes. What 
you have will work most of the time, particularly when message rates are 
low, but there is no guarantee.

> About the rate limit with multiple concurrent publishers, why not? It
> stores the next timeout in a transaction, so the next message should
> calculate its timeout taking into account the previous message.

The reading of the previous timeout and writing of the new timeout 
happen in different transactions. So multiple concurrent publishers 
could all read the same value.


More information about the rabbitmq-discuss mailing list