1. We are in the process of evaluating JMS for some of our upcoming initiatives. I was wondering if you had any benchamarking numbers to get a better understanding of Jboss messaging performance capabilities?
The JBM 2 are preliminary numbers. I have been trying recently on my developer branch and I can already get numbers 30 or 40 % higher on persistent messages.
2. How is high-availability of a broker node ensured? Does Jboss messaging employ master-slave architecture and are messages shared between master-slave via db?
You will have some information on the documentation. On JBM 1.4 the load is redirect to the next node on the cluster. Persistent Messages are stored on a shared database.
3. Does Jboss Messaging support exclusive consumer feature?
We support Message Consumers.. yes. I'm not 100% sure what you meant on this question.
4. Are there any flow control to avoid slow consumer problem?
You can configure JBM accordingly to deal with slow consumers. So.. that's a yes.
5. I beleive persistence is provided through shared db mechanism? Are there any other support for ex: shared SAN, replication mechanism ?
JBM 1.4 supports a shared db mechanism. On JBM 2 we are working on providing a journal which is pretty fast.
I am also benchmarking JBoss Messaging v. 1.4.1.Beta1. I got the similar results on non-persistent delivery to a queue (over 10K mesg/sec). However, I have to start over 10 consumers simultaneously, otherwise, the pending messages would pile up and finally OutOfMemoryError is reported. Do you experience the same thing? Is the consumer of a queue much slower than the producer?
JBM 1.4 doesn't have producer flow control so its possible to overrun the server. If you are getting an out of memory error then you can adjust your paging and caching parameters. See the user doc for more detailed info.
p.s. JBM 2.0 will have full producer and consumer flow control!