4
votes

After reading some interesting posts here on SO, and many pages found on google, I would like to ask you for help with decision what JMS/AMQP broker to choose. We are facing simple problem in our company. We need to use reliable message-based system for communication of nodes in cluster. Since we have "our own" solution for this, it's becoming quite clutter for us as we are trying to add more and more functionality into it (plus, it's buggy :)).

I really don't want to raise another question about which broker is better/worse, I would rather like to ask you about your personal experience and observation about reliability/complexity/flexibility of JMS/AMQP brokers. (i.e. I've found some confusing information about ActiveMQ, saying it's not stable yet many people consider it to be best JMS solution out there)

Currently, our system sends approx. 100 mps, so it's not big load, yet we need to be able to scale it in the future as more and more nodes will be added into cluster. Each node should be will be sending and receiving messages. We need to find as reliable solution as possible.

Thank you for your answers.

3

3 Answers

3
votes

Generally speaking the more robust brokers are commercial ones. I have used ActiveMQ in production and it had a few problems I was able to work around. It supported up to 20K messages per second. I would use it again.

2
votes

I'll start with the broker I know most about.

TIBCO EMS

Pros

  • Very stable
  • Has a c#, c and java api
  • Good support
  • Mature, has lots of nice enhancements, these manifest themselves in little things such as how it distributes messages to consumers on a queue etc.

Cons

  • Expensive
  • Not much information out there on the web

My boss helped develop the AMQP spec and he rates RabbitMQ very highly. I have not used it in anger so cannot comment.

Of course the one big advantage of AMQP over a JMS broker is interoperability ie a message sent from one vendors broker can be read by any other AMQP broker implementation

1
votes

We used IBM Websphere MQ for larger installtions - its commercial only - but a robust, scalable solution. For little to medium we used ActiveMQ and OpenMQ.