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. http://www.nabble.com/file/p17582334/brokers.jpg 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 shutdown). 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 point? Many Thanks to anybody taking time to give some advice. Regards, Bodo -- View this message in context: http://www.nabble.com/queue-gracefull-shutdown-%28and-more-questions%29-tp17582334s2354p17582334.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.