On Thu, May 27, 2010 at 1:19 PM, odysseyfx <i...@bradwillard.com> wrote:
>
> I've seen this problem fairly frequently.  This is caused by  a message
> producer on a topic creating messages faster than a consumer can consume
> them.  Those messages then get backed up on the broker internal dispatch
> queue for that session until all resources are consumed when the broker
> deadlocks.
>
> There are a few solutions to fix this problem that I have found: configuring
> and enabling flow control (which will throttle the message producer), enable
> a message eviction policy (where the broker will start throwing out the
> oldest messages of the lowest priority that aren't consumed fast enough), or
> finally you can actually use a durable subscriber if the message producer
> rate will slow down enough at some point in time for the consumers to catch
> up, otherwise you'll wind up with the same problem backing up on a queue
> instead.
>
> Another solution is Virtual Topics, and activemq has a whole page on exactly
> this scenario
>
> http://activemq.apache.org/slow-consumer-handling.html
> and
> http://activemq.apache.org/virtual-destinations.html
>
> I want to add that there is no tuning guide out there to get flow control to
> work properly, and it's a pain in the ass to setup.  You'll need someone who
> knows the code to help, there is no document on this but there should be.

Are you referring to TCP flow control?

Here's the producer flow control document:

http://activemq.apache.org/producer-flow-control.html

Bruce
-- 
perl -e 'print 
unpack("u30","D0G)u8...@4vyy9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'

ActiveMQ in Action: http://bit.ly/2je6cQ
Blog: http://bruceblog.org/
Twitter: http://twitter.com/brucesnyder

Reply via email to