[rabbitmq-discuss] Protection against slow consumers
Emile Joubert
emile at rabbitmq.com
Mon Nov 1 16:13:07 GMT 2010
Hi Jiří,
Op 01/11/2010 12:22, het jiri at krutil.com geskryf:
> Hello together
>
> I'm looking for a way how to protect against slow consumers.
>
> We are publishing messages to a topic exchange as part of a public
> interface. The subscribers are applications developed by our clients
> (outside of our control).
>
> Our concern is that one slow consumer could potentially force the broker
> to throttle our publisher, affecting all other consumers.
>
> We encourage the consumers to use a small prefetch buffer, but have no
> way how to enforce this. In general, we cannot assume that all consumers
> cooperate.
>
> For instance, a client that is consuming but not acking will (I believe)
> impact the broker memory consumption.
>
> Your ideas are welcome.
I assume you have subscribers each set up with their own queue and
binding. In this case I would expect long queues associated with slow
subscribers to be persisted to disk automatically. This prevents RAM
pressure, which the broker attempts to relieve by blocking producers.
This assumes that you are running version 2.0.0 or later. If you are
seeing different results then we'd like to hear the details.
Regards
Emile
More information about the rabbitmq-discuss
mailing list