activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From odobas <>
Subject queue gracefull shutdown (and more questions)
Date Sun, 01 Jun 2008 04:41:30 GMT

Hello there,

I've been searching this forum for answers to these questions but I did not
find anything suitable. So here they are. As I am still planning, I am
playing with different configurations so the questions are not related as
they refer to different things.

I am planning to use ActiveMQ in an application where I need failover
support so what I'd like to use is a network of some (5 I am thinking)
brokers, each broker in a Master/Slave configuration. Speed is a factor as
messages are time sensitive. 

1. Is that configuration possible (Network of master/slaves nodes)? Any
issues on switching between the master and the slave due to failover?

2. There will be millions of messages going through the queues in 1 hour,
sizes 2-8 kb each. Is that ok, will it perform well?

3. Each broker will have 20 -30 consumers. Is that efficient, will it
perform well? How does the performance scale with the increase in the number
of consumers?

4. If I want to shut down a broker (say for maintenance), is there a way to
do it gracefully? What I mean by that is: can I tell the broker to stop
taking new messages form its producers (so to the producers it’ll look like
the queue is full or something like that), let its queue(s) be consumed
naturally by its consumers and then when the queue(s) size is 0 to shut down
the broker? If that's possible can be done in an automatic way? Basically,
is there a command (or can it be implemented) to shut a broker down
something along: "close the broker down but not before all its messages are
consumed (queue size 0)"? 
I need that as 
a) I have no control over the producers and 
b) My messages are time sensitive so even if I persist them, by the time I
restart the broker some of the messages in the store will have been expired.

5. For the Master/Slave configuration, do I need persistent queues? Because
speed is a factor and RAM not an issue. So if question 4 above has a
positive answer, then in case of graceful shutdown or even crash, I am
expecting the slave will kick in, then I'd tell the slave to stop
"gracefully" (see above) and then restart the node without any other file
store synchronization (since there were no messages in the queue at

6. If I do decide to use a shared file system for that, is NFS good enough
(the brokers will probably run on Redhat)? Any other shared file systems
apart from SAN (expensive) that somebody has a good or bad experience with? 

7. If I do use a shared file system, if I have 1 master and 2 slaves, are
there any issues with that? Performance, reliability, etc...

8. Can I make the producer unaware of all the queues without using a big ip?
I mean, can the network of brokers be configured so there is only 1 entry

Many Thanks to anybody taking time to give some advice.


View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message